由于Chrome API最近发生了变化,我的插件会发出此错误:
tabs.executeScript期间出错:无法访问url的内容 “铬扩展://ecfgljdfndkhhbmhcnelbpnhkflgiokp/cm_signature_editor.html”。 扩展清单必须请求访问此主机的权限。
这从未像现在这样。现在我想知道如何将chrome扩展的URL放入它的清单文件中:
我知道我可以像我这样在我的扩展程序中获取网址或资源:
chrome.extension.getURL('/manifest.json')
但我不知道它在清单文件中是如何工作的。
是否有其他方法可以使此代码正常工作?
chrome.tabs.executeScript(null, {code:function_to_execute}, function() {
// callback
});
有趣的是,即使我对Chrome网址进行硬编码也不起作用(我得到同样的错误)
"permissions" : [
"tabs",
"contextMenus",
"chrome-extension://ecfgljdfndkhhbmhcnelbpnhkflgiokp/*"
],
答案 0 :(得分:1)
我认为你不能以这种方式在扩展页面中注入脚本。 您应该只在页面中添加脚本,只需将其写入扩展HTML文件即可。 并使用chrome.extension.sendRequest和chrome.extension.onRequest在扩展页之间进行通信
答案 1 :(得分:1)
使用chrome.extension.getViews()
可能会有所帮助。
答案 2 :(得分:0)
我遇到了同样的问题,下面是我做的,
答案 3 :(得分:-1)
也许我知道你的问题是什么;)有两种方法可以在chrome.tabs.executeScript
注入内容脚本:
eval
{file: 'js/script.js'}
此外,您必须在清单权限字段中添加适当的站点主机,例如如果您想在http://example.com/page.html
添加example.com
主机