感谢@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
页面中运行良好吗?
一些有用的信息:
我知道默认情况下chrome扩展程序无法访问chrome://
页面,我们可以通过更改此行为chrome://flags/#extensions-on-chrome-urls
chrome://newtab
实际上是一个网址https://www.google.co.jp/_/chrome/newtab?espv=2&ie=UTF-8
,所以不应该受到上述限制.
有许多鼠标手势扩展可用,如crxMouse,它们在chrome://newtab
页面上运行良好
还有一些声音说它不允许注入内容脚本chrome://newtab
,例如,@ Xan在这个答案下面的评论
和这位作者的情况
因此它在不同设备(或设置?)中的不同行为看起来很奇怪.是否有关于内容脚本是否可以在chrome://newtab
页面中运行的官方声明?或者是否有一个设置我们可以改变这种行为?
所以我有一个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) 在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)
这样的事情可能吗?
我有一个窗口打开(一个iFrame url
,uniqueID
,windowparams
).iFrame位于单页应用程序中,并托管在另一台服务器中.每次刷新或更改页面,然后返回到IFrame页面,然后尝试启动相同的页面window.open
.它不是刷新已打开的窗口,而是创建同一窗口的实例.在检查window.name
每个弹出窗口时,它返回uniqueID
与其相同的内容window name
.如果将URL设置为空白,则其行为与预期一致.但是当设置了url时,它会创建一个新的窗口实例.
window.open
在被销毁时表现得像那样吗?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
我有一个父回收站视图,里面有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被设定为0
在child view 2
RV.它上面的一切都是-ve值.但是,我不确定是否是这种情况,因为我仍然在找出导致它的原因.
任何修复?
我有一个看起来像立方体的纹理
我想在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
几何可能不适合我的目标,但我真的不知道如何改变它.
我使用 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。所有混合应用程序都会有这个问题。
帮助。
有没有什么方法可以embeds_many
在没有id
/primary_key
字段的情况下在 Ecto 中使用?
我的数据库依赖于在这个字段上有一个唯一的索引,而 ecto 自动插入键打破了这个要求。
如何更改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_ci
到utf8_unicode_ci
?
在Elm 0.17中,我想运行一个依赖于随机数的程序,但我希望有一个用户指定的种子.这是为了在多个用户会话中获得可重现的结果:输入相同种子的用户应该看到相同的结果.
但我无法弄清楚如何影响内置函数的行为,如:
Random.list 10 (Random.int 0 100)
Run Code Online (Sandbox Code Playgroud)
通过上面的呼叫,我想在每次输入相同的种子时得到10个随机数的相同列表.但我根本无法弄清楚如何喂种子.我很感激任何帮助!