内容脚本到后台脚本消息(以chrome扩展名传递)

时间:2018-06-23 08:14:00

标签: jquery google-chrome-extension

我在其中使用了Chrome扩展程序

chrome.extension.sendRequest({name:'setemailid',details:JSON.stringify(hover),recpt:'',email:logEmail});

在content.js与background.js之间进行通信的方法。

这很好用,但是当扩展名关闭然后再打开时,它会抛出类似

的异常
Uncaught Error: Invocation of form runtime.connect(string, ) doesn't match definition runtime.connect(optional string extensionId, optional object connectInfo)
    at Object.normalizeArgumentsAndValidate (VM69418 extensions::schemaUtils:115)
    at Object.<anonymous> (VM69413 extensions::binding:363)
    at Object.<anonymous> (VM69412 extensions::extension:94)
    at Object.handleRequest (VM69413 extensions::binding:64)
    at Object.<anonymous> (VM69413 extensions::binding:374)
    at HTMLSpanElement.<anonymous> (content.js:169)
    at HTMLDocument.dispatch (jquery-1.10.2.min.js:5)
    at HTMLDocument.v.handle (jquery-1.10.2.min.js:5)

目前无法重新加载我的扩展程序。

还有其他任何方法可以在content.js和background.js之间进行通信,例如调度CustomEvent。我试过了,但是background.js不监听自定义事件。

还尝试如下从background.js重新注入内容脚本

chrome.tabs.query({active: true, currentWindow: true},
function(tabs) { 
               chrome.tabs.executeScript(current_tab,{
        file: '/js/content.js'
    }); 

});

其中current_tab具有myextension tab_id

0 个答案:

没有答案