javascript - cant send chrome-extension message more than once -


im using chrome extension long-lived connection in app. @ 1st time send message good, @ 2nd time exception: "attempting use disconnected port object". code (i removed catch code):

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>"]  } 

what do wrong? (i saw versions in 'var port = chrome.runtime.connect...' defind inside background.js. need defind now.)


Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -