问题列表 - 第225638页

内容脚本是否可以访问newtab页面?

更新

感谢@kofifus提供的信息,Chrome从61开始明确禁止其默认新标签页上的内容脚本

以前

假设我有以下示例扩展名,它将test在控制台中输出.

的manifest.json

{
  "name": "Test",
  "version": "1.0",
  "manifest_version": 2,
  "content_scripts": [
    {
      "matches": [
        "<all_urls>"
      ],
      "js": [
        "content.js"
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

content.js

console.log('test');
Run Code Online (Sandbox Code Playgroud)

上面的扩展会在chrome://newtab页面中运行良好吗?

一些有用的信息:

  1. 我知道默认情况下chrome扩展程序无法访问chrome://页面,我们可以通过更改此行为chrome://flags/#extensions-on-chrome-urls

  2. chrome://newtab实际上是一个网址https://www.google.co.jp/_/chrome/newtab?espv=2&ie=UTF-8,所以不应该受到上述限制.

  3. 有许多鼠标手势扩展可用,如crxMouse,它们在chrome://newtab页面上运行良好

  4. 还有一些声音说它不允许注入内容脚本chrome://newtab,例如,@ Xan在这个答案下面的评论 在此输入图像描述这位作者的情况 在此输入图像描述

因此它在不同设备(或设置?)中的不同行为看起来很奇怪.是否有关于内容脚本是否可以在chrome://newtab页面中运行的官方声明?或者是否有一个设置我们可以改变这种行为?

google-chrome chromium google-chrome-extension

14
推荐指数
1
解决办法
1927
查看次数

如何将单词列表最常用到最少?

所以我有一个100000字的文件.我想知道我怎么能这样做它创建一个文件说"the:10282次"和"322次""sadfas222:1次"

这就是文本文件的样子:

asdf
jkasdf
the
sadf
asdn
23kl
asdf
qer
f
asdf
r
2
r
fsd
fa
sdf
asd
far2
sdv
as
df
asdf
asdf
Run Code Online (Sandbox Code Playgroud)

javascript python

0
推荐指数
1
解决办法
101
查看次数

是否可以在不污染命名空间的情况下声明extern"C"函数?

在Rust中,extern C函数可以在外部作用域中声明:

#[link(name = "some_lib")]
extern "C" {
    pub fn foo(path: *const c_char);
    pub fn bar(path: *const c_char);
    pub fn baz(path: *const c_char);
    pub fn fez(path: *const c_char);
}
Run Code Online (Sandbox Code Playgroud)

虽然可以接受,但每个功能都需要直接访问foo() bar()...等.

是否可以使用公共前缀来访问它们?

封装如何工作的示例:

namespace some_lib {
    #[link(name = "some_lib")]
    extern "C" {
        pub fn foo(path: *const c_char);
        // ... etc ...
    }
}

fn some_rust_function() {
    unsafe {
        some_lib::foo();  // <-- example usage
    }

}
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?

namespaces ffi rust

3
推荐指数
1
解决办法
795
查看次数

在iframe中使用window.open的唯一弹出窗口

我有一个窗口打开(一个iFrame url,uniqueID,windowparams).iFrame位于单页应用程序中,并托管在另一台服务器中.每次刷新或更改页面,然后返回到IFrame页面,然后尝试启动相同的页面window.open.它不是刷新已打开的窗口,而是创建同一窗口的实例.在检查window.name每个弹出窗口时,它返回uniqueID与其相同的内容window name.如果将URL设置为空白,则其行为与预期一致.但是当设置了url时,它会创建一个新的窗口实例.

  • iFrame window.open在被销毁时表现得像那样吗?
  • 我尝试在本地运行iFrame源,即使刷新后窗口打开也能正常运行.
  • 我试过IE,Firefox和Chrome,它返回了相同的行为.

更新:

Mike通过添加iFrame源的沙箱属性成功修复了Webkit浏览器的行为.现在该window.open方法按预期工作,而不是创建相同窗口的新实例window.name.

然而,迈克仍然没有运气与Firefox.如果有人可以为此工作,我将非常感激.

以下视频中具有sanboxed属性的iFrame的Webkit浏览器行为.

看到父级,即使刷新仍然可以检测到已经打开了同名的弹出窗口. https://youtu.be/z5_xXRjY8Ow

以下视频中具有sanboxed属性的iFrame的Firefox行为.

刷新父窗口时,浏览器无法检测到已打开的弹出窗口,并创建另一个弹出窗口的实例window.name. https://youtu.be/uHaDveW1Sd0

是否有一种解决方法可以让Firefox像Webkit浏览器一样工作?

更新:

Mike发现在window.open中使用空白URL在firefox中正常运行.但是仍然如何解决这个哈哈.

更新:

这是约翰尼!呃Mike意味着另一个测试案例.尝试使用webkit浏览器和firefox.打开弹出窗口后,刷新页面然后打开另一个弹出窗口webkit浏览器将只有一个窗口实例,但是firefox会创建一个新窗口. console.log(window.name)在打开的弹出窗口中,您将获得'Mike'作为窗口名称 https://bug1295839.bmoattachments.org/attachment.cgi?id=8782242

javascript firefox

15
推荐指数
1
解决办法
1414
查看次数

嵌套的Recyclerview自行滚动

我有一个父回收站视图,里面有3个子视图.孩子的最后两个是recyclerview.

Parent recyclerview
 - child view 1
 - child view 2 (horizontal rv)
 - child view 3 (horizontal rv)
Run Code Online (Sandbox Code Playgroud)

问题是每当这个片段可见时,它会自动滚动以与child view 2底部对齐.

我已将父rv设置为侦听滚动.这就是我最终的结果:

dy: 108
dy: 72
dy: 75
dy: 62
dy: 48
dy: 42
dy: 34
dy: 27
dy: 22
dy: 16
dy: 12
dy: 10
dy: 7
dy: 5
dy: 3
dy: 3
dy: 1
dy: 1
dy: 1
Run Code Online (Sandbox Code Playgroud)

这似乎是起始dy父recyclerview被设定为0child view 2RV.它上面的一切都是-ve值.但是,我不确定是否是这种情况,因为我仍然在找出导致它的原因.

任何修复?

android android-recyclerview

28
推荐指数
1
解决办法
1万
查看次数

SceneKit - 将立方体纹理映射到框

我有一个看起来像立方体的纹理

在此输入图像描述

我想在SceneKit视图中的立方体上使用它.我正在使用SceneKit几何体SCNBox.不幸的是,结果是纹理完全投射在每个面上,而不是仅使用相应的部分:

let videoGeometry = SCNBox(width: 1, height: 1, length: 1, chamferRadius: 0)
videoGeometry.firstMaterial?.isDoubleSided = true
videoGeometry.firstMaterial?.diffuse.contents = UIImage(named: "test")!
Run Code Online (Sandbox Code Playgroud)

我知道我可以在几何体上使用着色器修改器,但我不知道从哪里开始.由于纹理目前使用了六次,我的直觉是SCNBox几何可能不适合我的目标,但我真的不知道如何改变它.

opengl-es geometry-shader ios scenekit

4
推荐指数
1
解决办法
865
查看次数

location.protocol" 必须是 http 或 https

我使用 Cordova + Angular 2 + Ionic 2 开发了一个混合移动应用程序。

使用 firebase Auth 时,当调用 signInWithPopup() 或 signInWithRedirect() 进行社交登录时,firebase 返回错误“此应用程序运行的环境不支持此操作。“location.protocol”必须是 http 或 https。

这篇文章也有很多评论,关于同样的事情:https : //firebase.googleblog.com/2016/01/social-login-with-ionic_77.html

这是因为 location.protocol 是 file:// 而不是 http/s。所有混合应用程序都会有这个问题。

帮助。

firebase firebase-authentication ionic2

6
推荐指数
1
解决办法
4639
查看次数

Ecto embeds_many 没有 id

有没有什么方法可以embeds_many在没有id/primary_key字段的情况下在 Ecto 中使用?

我的数据库依赖于在这个字段上有一个唯一的索引,而 ecto 自动插入键打破了这个要求。

ecto

4
推荐指数
1
解决办法
1127
查看次数

如何更改Mysql的连接排序规则

如何更改mysql数据库的连接排序规则?

我在ubuntu 14中使用Mysql workbench 5.5和mysql 5.5.

当我执行存储过程时,会发生错误:

错误代码:1267.操作'='的非法混合排序(utf8_general_ci,IMPLICIT)和(utf8_unicode_ci,IMPLICIT)

我通过互联网搜索,它有一个临时解决方案,即修改

COLLATE utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

在存储过程中.

但我想在将来为所有存储过程解决此问题.我已经找到

SHOW VARIABLES LIKE 'collation%';
Run Code Online (Sandbox Code Playgroud)

返回这个.

collation_connection    utf8_general_ci
collation_database  utf8_unicode_ci
collation_server    latin1_swedish_ci
Run Code Online (Sandbox Code Playgroud)

如何更改utf8_general_ciutf8_unicode_ci

mysql collation

8
推荐指数
1
解决办法
1万
查看次数

如何在elm 0.17中使用随机生成器和用户指定的种子?

在Elm 0.17中,我想运行一个依赖于随机数的程序,但我希望有一个用户指定的种子.这是为了在多个用户会话中获得可重现的结果:输入相同种子的用户应该看到相同的结果.

但我无法弄清楚如何影响内置函数的行为,如:

Random.list 10 (Random.int 0 100)
Run Code Online (Sandbox Code Playgroud)

通过上面的呼叫,我想在每次输入相同的种子时得到10个随机数的相同列表.但我根本无法弄清楚如何喂种子.我很感激任何帮助!

random elm

3
推荐指数
1
解决办法
562
查看次数