Javascript Chrome扩展许可证;关于:空白“;页
我的chrome扩展没有使用Javascript Chrome扩展许可证;关于:空白“;页,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我的chrome扩展没有使用content\u脚本,因为我不想将代码注入每个页面。相反,当用户单击按钮时,会打开一个弹出窗口,并将代码注入页面 因此,在manifest.json中有一个权限块: "permissions": [ "activeTab" ] 在popup.js中有以下代码: chrome.windows.getCurrent( function(win) { chrome.tabs.query({ 'windowId': win.id,
content\u脚本
,因为我不想将代码注入每个页面。相反,当用户单击按钮时,会打开一个弹出窗口,并将代码注入页面
因此,在manifest.json
中有一个权限块:
"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”
。如果我尝试初始化扩展,我会在控制台中看到以下消息:
运行tabs时未选中runtime.lastError.executeScript:无法访问url“about:blank”的内容。扩展清单必须请求访问此主机的权限
我看不到向权限添加“about:blank”
页面的方法。我真的不想开始使用content\u脚本
,只是为了设置match\u about\u blank
设置
我已尝试将“about:blank”
和“about::
添加到权限
中,但得到的只是一个安装错误
尝试安装此扩展时出现警告:
权限“about:*”未知或URL模式格式不正确
有解决办法吗
更新:。包含一个指向jsbin演示的链接,但问题不在该网站上。该扩展最初是在一个yahoo mail弹出窗口上测试的,您可以通过选择打印电子邮件获得该窗口。尝试使用chrome.tabs.executeScript({file:“script.js”,matchaoutblank:true})
如果matchAboutBlank为true,那么如果扩展插件可以访问其父文档,那么代码也会被注入about:blank和about:srcdoc框架。无法在顶级“关于:-帧”中插入代码。默认情况下,它为false。”
在执行任何代码之前,你不能检查windows.location.href
值与about:blank
的对比吗?Chrome正在阻止代码注入,因为它需要权限。我包括上面显示的错误。我理解这一部分。但我的意思是,如果可能的话,检查注入部分。(我对这方面的了解还不够,如果可能的话,我无法确定)那是行不通的,错误来自于执行chrome.tabs.executeScript
,这是注入javascript的同一个函数。你能给出一个页面(或视频)的示例吗这说明了问题所在?Chrome扩展只有在确定框架的原点时才能在about:blank
上执行脚本,并且该扩展具有在该原点上运行脚本的权限。因此,如果该扩展是一个about:blank
页面,并且没有可由您的扩展访问的打开窗口或父框架,则该扩展将被拒绝访问。谢谢!我在文档中完全错过了这一点。遗憾的是,即使添加了该参数,我仍然会看到相同的错误消息。可能问题是“关于:空白”弹出页面没有显示为选项卡,因此我必须右击标题并选择“显示为选项卡”“以显示扩展按钮。问题可能是对父文档部分的访问。我创建了此要点,并提供了说明,以显示问题:我仍然收到此错误:Unchecked runtime.lastError:无法访问源位置的”about:blank“null”.Extension必须具有访问帧原点的权限,并且matchAboutBlank必须为true。