小编Sid*_*Sid的帖子

chrome.tabs.executeScript发生错误"运行tabs.executeScript时未经检查的runtime.lastError:无法访问url的内容..."

所以我试图在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)

google-chrome-extension

14
推荐指数
1
解决办法
1万
查看次数

注入的 iframe 和内容脚本之间的通信——通过后台页面传递消息

我正在注入iframe一个tab. 现在在 里面iframe,根据用户的操作,我需要显示一些error/warning/success notifications. 但是我想在tabnot in 中显示这些通知iframe。所以我需要在iframe和之间进行通信content script。现在这些notifications是基于用户操作的动态,所以我想到了message passingbetweeniframecontent scriptvia background page

所以我所做的是从iframeto发送消息background。现在无论是background pagecontent 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)

google-chrome-extension

7
推荐指数
1
解决办法
1711
查看次数

禁用弹出窗口并调用browserAction.onClicked

我正在制作Chrome扩展程序"default_popup":"popup.html".

文件chrome.browserAction.onClicked说:

单击浏览器操作图标时触发.如果浏览器操作有弹出窗口,则不会触发此事件.

我知道browserAction.onClicked不会在我的分机中开火.但我可以禁用弹出窗口以便browserAction.onClicked可以触发吗?

结论:当我的扩展程序正在运行时,我想禁用popup并拥有一个chrome.browserAction.onClickedin,background.js以便稍后我可以调用browserAction.onClicked.可能吗?怎么样?另外我想知道如果我能做相反的意思禁用browserAction.onClicked和启用popup.

javascript google-chrome google-chrome-extension

2
推荐指数
1
解决办法
369
查看次数

隐身窗口中的chrome.tabs.create会在正常窗口中打开一个标签

此处也报告了此错误(已过时关闭):

https://code.google.com/p/chromium/issues/detail?id=72948

我想创建一个新tab的当前incognito window.呼叫chrome.tabs.create将在后台页面中进行.我怎样才能做到这一点?有没有解决方法?

google-chrome google-chrome-extension google-chrome-app

1
推荐指数
1
解决办法
1242
查看次数