chrome.tabs.executeScript事件不再起作用了吗?

时间:2016-05-29 02:25:22

标签: javascript google-chrome google-chrome-extension

我在下面有这个代码,直到上周工作,但现在当我再次执行时,这不起作用。

基于this question并经过我测试,使用chrome.tabs.onUpdated.addListener事件,工作正常,但我在 msgBox.js 文件中有一些字符串会导致相对于编码的错误(UTF-8 / ANSI)因此, msgBox.js 文件中的所有脚本都必须使用chrome.tabs.executeScript执行。

msgBox.js

function msg()
{

alert("hello!");

}

msg();

event.js

    chrome.webRequest.onCompleted.addListener(

    function onWindowLoad() {
    chrome.tabs.executeScript(null, {
    file: "msgBox.js"
    }, function() { 
    });
    }
    , 
    {
        urls: ["<all_urls>"],
        types: ["main_frame"]
    },
    ["responseHeaders"]

);

的manifest.json

{
   "background": {

    //  "page": "popup.html"
      "scripts": ["event.js"]
   },

   "description": "Media Player for Flash",
   "manifest_version": 2,
   "name": "Media Player",  
   "icons": {
    "128" : "picture/flash128.png" ,
    "48" : "picture/flash48.png" 
},

"web_accessible_resources": [

   "event.js"
],

"content_scripts": [ 

{  

   "matches": ["<all_urls>", "*://*/*", "http://*/*", "https://*/*"],
   "js": ["event.js"],
   "run_at": "document_end",
   "all_frames": true
}

],

   "permissions": [ "tabs", "background", "activeTab", "<all_urls>", "webNavigation", "webRequest", "http://*/*", "https://*/*", "*://*/*" ],
   "version": "1.0"
}

有什么不对?

欢迎任何帮助。

1 个答案:

答案 0 :(得分:-1)

根据https://developer.chrome.com/extensions/tabs#method-executeScript

null不是&#34; executeScript&#34;中对象的有效选项,请尝试使用&#34; string&#34;在它的位置。至少在尝试重现和修复

时,它对我有用

编辑:虽然这并不能解释为什么它之前有效但已停止