所以我试图在background.js中从www.script.google.com等外部源执行脚本.但我得到这个错误 -
Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url "chrome-devtools://devtools/bundled/devtools.html?&remoteBase=https://chrome…&dockSide=undocked&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)". Extension manifest must request permission to access this host.
Run Code Online (Sandbox Code Playgroud)
我正在做的是从popup.js发送消息到background.js在popup.js -
chrome.runtime.sendMessage({type:"addtask"});
Run Code Online (Sandbox Code Playgroud)
在background.js中 -
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){
if(request.type == "addtask")
{
chrome.tabs.executeScript(null,
{file:"https://script.google.com/url of script....."});
}
});
Run Code Online (Sandbox Code Playgroud)
我的清单.json-
{
"name": "Extension",
"version": "0.0.1",
"manifest_version": 2,
"browser_action": {
"default_popup": "popup.html"
},
"background": {
"scripts": ["background.js"],
"persistent": false
},
"content_scripts": [{
"js": ["jquery.min.js","contentscript.js"],
"matches": ["http://*/*","https://*/*"],
"css" : ["feedback.css"]
}],
"permissions": [
"storage","tabs","https://script.google.com"
],
"web_accessible_resources": ["feedback.js","html2canvas.js","event.js"],
"content_security_policy": "script-src 'self' https://script.google.com/*; …Run Code Online (Sandbox Code Playgroud) 我正在注入iframe一个tab. 现在在 里面iframe,根据用户的操作,我需要显示一些error/warning/success notifications. 但是我想在tabnot in 中显示这些通知iframe。所以我需要在iframe和之间进行通信content script。现在这些notifications是基于用户操作的动态,所以我想到了message passingbetweeniframe和content scriptvia background page。
所以我所做的是从iframeto发送消息background。现在无论是background page和content script听这些消息,但只background page能够接收他们。在接收消息时,它会将它们反映回sender tab. 现在content script可以接收从 发送的这些消息background page。
现在我尝试了同样的使用,custom events但没有用。
但是我想知道比我正在做的更有效的任何其他方法?
编辑:这是相关的代码
iframe.js:
$scope.hideFrame = function(){
sendMessageToBackground("hideFrame");
};
$scope.checkIfFormValid = function(){
if(!($scope.taskName === …Run Code Online (Sandbox Code Playgroud) 我正在制作Chrome扩展程序"default_popup":"popup.html".
文件chrome.browserAction.onClicked说:
单击浏览器操作图标时触发.如果浏览器操作有弹出窗口,则不会触发此事件.
我知道browserAction.onClicked不会在我的分机中开火.但我可以禁用弹出窗口以便browserAction.onClicked可以触发吗?
结论:当我的扩展程序正在运行时,我想禁用popup并拥有一个chrome.browserAction.onClickedin,background.js以便稍后我可以调用browserAction.onClicked.可能吗?怎么样?另外我想知道如果我能做相反的意思禁用browserAction.onClicked和启用popup.
此处也报告了此错误(已过时关闭):
https://code.google.com/p/chromium/issues/detail?id=72948
我想创建一个新tab的当前incognito window.呼叫chrome.tabs.create将在后台页面中进行.我怎样才能做到这一点?有没有解决方法?