Chrome Extension sendMessage error from content script to background html -


i updated chrome extension json version 2, , trying extension work again. problem sendrequest depreciated along way. copy code https://developer.chrome.com/extensions/messaging.html script , modify own variable names, , doesn't work.

so go , put in original code , still doesn't work. have read multiple questions similar [and won't closed duplicate, because none of them same situation].

manifest.json:

{    "background": {         "page": "background.html"         },     ... ... ...    "content_scripts": [ {       "css": [ "style.css" ],       "js": [ "jq.js", "script.js" ],       "matches": [ "http://*.craigslist.org/*/*.htm*" ]    } ],    ... ... ...    "permissions": [ "tabs", "http://*.craigslist.org/*/*.htm*" ],    "manifest_version": 2,    "update_url": "http://clients2.google.com/service/update2/crx",    "version": "3.0" } 

background.html:

<html> <script type='text/javascript'>    chrome.runtime.onmessage.addlistener(   function(request, sender, sendresponse) {     console.log(sender.tab ?                 "from content script:" + sender.tab.url :                 "from extension");     if (request.greeting == "hello")       sendresponse({farewell: "goodbye"});   });     }); </script> </html> 

script.js:

chrome.runtime.sendmessage({greeting: "hello"}, function(response) {   console.log(response.farewell); }); 

now run page [on craigslist], , go console , error:

port error: not establish connection. receiving end not exist. typeerror: cannot read property 'farewell' of undefined     @ chrome-extension://dhmjefbokfkjpdbigkadjpgjeflchgea/script.js:9:23 

i use chrome beta on ubuntu 12.10 64-bit (google chrome: 27.0.1453.15 (official build 191758) beta)

you sending messages both background , content script, not trying receive them @ all. try listening messages in 1 or both of places. also, inline code against csp move external file.

for example:

manifest.json

"background": {     "scripts": ["background.js"] }, 

background.js

chrome.runtime.onmessage.addlistener(function(message,sender,sendresponse){   sendresponse({farewell:"goodbye"}); }); 

script.js

chrome.runtime.sendmessage({greeting: "hello"}, function(response) {   console.log(response.farewell); }); 

also, chrome.tabs.getselected() has been deprecated well, use chrome.tabs.query() instead.


Comments

Popular posts from this blog

android - getbluetoothservice() called with no bluetoothmanagercallback -

sql - ASP.NET SqlDataSource, like on SelectCommand -

ios - Undefined symbols for architecture armv7: "_OBJC_CLASS_$_SSZipArchive" -