- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我的 chrome 扩展程序没有使用 content_scripts
,因为我不想将代码注入(inject)每个页面。相反,当用户单击按钮时,会打开一个弹出窗口并将代码注入(inject)页面。
因此,在 manifest.json
中有一个权限 block :
"permissions": [
"activeTab"
]
在 popup.js
中有这段代码:
chrome.windows.getCurrent( function(win) {
chrome.tabs.query({
'windowId': win.id,
'active': true
}, function(tabArray) {
// inject css & js only on initial click
chrome.tabs.executeScript( null, {
code : 'document.querySelector( "body" ).classList.contains( "_myExtension_code_injected" )'
}, function( result ) {
if ( result && !result[0] ) {
chrome.tabs.insertCSS( null, {
file: 'myExtension.css'
});
chrome.tabs.executeScript(null, {
file: 'myExtension.js'
}, function(){
chrome.tabs.executeScript(null, {
code: 'myExtension.init();'
});
});
}
});
});
});
问题是一些网站会打开一个带有附加信息的弹出窗口。该弹出页面的 URL 是 "about:blank"
。如果我尝试初始化扩展,我会在控制台中看到这条消息:
Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url "about:blank". Extension manifest must request permission to access this host.
我没有看到将“about:blank”
页面添加到权限
的方法。我真的不想开始使用 content_scripts
只是为了设置 match_about_blank
设置。
我已经尝试将 "about:blank"
和 "about:*
添加到 permission
中,但我得到的只是一个安装错误.
There were warnings when trying to install this extension: Permission 'about:*' is unknown or URL pattern is malformed.
有解决办法吗?
更新:Here is a gist with everything you'll need .包含指向 jsbin 演示的链接,但问题不在于该站点。该扩展程序最初是在雅虎邮件弹出窗口上测试的,您可以通过选择打印电子邮件来获得该窗口。
最佳答案
尝试使用 chrome.tabs.executeScript({ file: "script.js", matchAboutBlank: true })
“如果 matchAboutBlank 为真,那么如果您的扩展可以访问其父文档,代码也会被注入(inject)到 about:blank 和 about:srcdoc 框架中。代码不能插入到顶级 about:-frames 中。默认情况下它是假的。”
https://developer.chrome.com/extensions/tabs#property-details-matchAboutBlank
关于javascript - "about:blank"页面的 Chrome 扩展权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32288996/
我在 StackOverflow 和其他地方看到了很多与此类似的问题,但没有一个直接解决我的问题。我正在 THREE.js 中使用凸包生成器生成 n 边多面体。我想将方形纹理映射到每个多面体的每个面上
我是一名优秀的程序员,十分优秀!