Javascript 无法多次发送chrome扩展消息

Javascript 无法多次发送chrome扩展消息,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,我在我的应用程序中使用chrome扩展长期连接。在第一次发送消息时一切正常,但在第二次发送时出现异常:“尝试使用断开连接的端口对象”。 我的代码(我删除了所有捕获代码): content.js: var port = chrome.runtime.connect({name: "letmeknow"}); function checkIf_hiddenDiv_wasChanged() { try {

我在我的应用程序中使用chrome扩展长期连接。在第一次发送消息时一切正常,但在第二次发送时出现异常:“尝试使用断开连接的端口对象”。 我的代码(我删除了所有捕获代码):

content.js:

    var port = chrome.runtime.connect({name: "letmeknow"});
    function checkIf_hiddenDiv_wasChanged()                
    {
        try
        {
            port.postMessage({message: contentScriptMessage});
        }
        catch(err) 
        {
          ;
        }
    }
    port.onMessage.addListener(function(msg) {
        try
        {
            messageData=msg.data;
            alert('content received: '+messageData);
        }
        catch(err)
        {
            ;
        }
     });
background.js:

chrome.runtime.onConnect.addListener(function(port) {
    console.assert(port.name == "letmeknow"); 
    port.onMessage.addListener(function(msg) 
    {
        try
        {
            returnMessage(port, msg.message);
        }
        catch(err)
        {
            ;
        }
    });
});
//==============================================//
function returnMessage(port, messageToReturn)
{
    try
    {
        chrome.tabs.getSelected(null, function(tab) 
        {
            var joinedMessage = messageToReturn + '***' +backgroundScriptMessage;       
            alert('bg send: '+joinedMessage);
            alert(port.name);
            port.postMessage({data: joinedMessage});
            alert(port.name);
        });
    }
    catch(err)
    {
        ;
    }
}
manifest.json:

{
    "manifest_version": 2,
    "name": "MyApp",
    "version": "1.0",

    "browser_action": 
    {
        "default_icon": "icon.png",
        "default_popup": "mainpage.html"
    },

    "background": 
    {
        "page": "mainpage.html"
    },

    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",

    "content_scripts": 
    [
        {
        "matches": ["<all_urls>"],
        "js": ["content.js"]
        }
    ], 

    "permissions": ["tabs","cookies","activeTab","https://api.domain.com/","<all_urls>"]

}
{
“清单版本”:2,
“名称”:“MyApp”,
“版本”:“1.0”,
“浏览器操作”:
{
“默认图标”:“icon.png”,
“默认弹出窗口”:“mainpage.html”
},
“背景”:
{
“页面”:“mainpage.html”
},
“内容安全策略”:“脚本src'self”“不安全评估”;对象src'self',
“内容脚本”:
[
{
“匹配项”:[“”],
“js”:[“content.js”]
}
], 
“权限”:[“选项卡”、“cookies”、“活动选项卡”https://api.domain.com/",""]
}
我做错了什么?
(我在background.js中定义了“var port=chrome.runtime.connect…”的地方看到了一些版本。我需要像现在一样定义它。)

你在后台页面或内容脚本中看到了这个错误吗?我在内容中看到了它。