0

清單,JSONchrome.runtime.onMessage未定義的內容腳本

{ 
"background": { 
    "scripts": ["jquery-3.2.1.min.js", "background.js"] 
}, 
"content_scripts": [{ 
    "all_frames": true, 
    "run_at": "document_start", 
    "matches": [ 
     "http://*/*", 
     "https://*/*", 
     "file:///*" 
    ], 
    "css": ["mystyles.css"], 
    "js": ["jquery-3.2.1.min.js", "myscript.js"] 
}], 
"permissions": [ 
    "<all_urls>", 
    "contextMenus", 
    "storage", 
    "clipboardWrite", 
    "clipboardRead", 
    "activeTab", 
    "identity", 
    "webRequest", 
    "webRequestBlocking" 
], 
"web_accessible_resources": [ 
    "*.png" 
]} 

內容腳本

chrome.runtime.onMessage(function(message, sender, sendResponse){ 
console.log(message);}); 

鉻控制檯

in chrome console

我的Chrome版本:58.0.3029.110(64位) 爲什麼chrome.runtime.onMessage在content_script中未定義? 請告訴我如何解決這個問題〜:)

是否有其他方法可以實現sendMessage到內容腳本的那個背景?

回答

1

chrome.runtime.onMessage的確不是一個功能,它是一個Event對象,它提供addListener功能的方法:

chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) { 
    ... 
}); 
+0

的感謝!我嘗試使用'chrome.runtime.onMessage.addListener'。控制檯沒有再次拋出錯誤,但看起來沒有任何效果。內容腳本仍然未被接受來自後臺腳本的消息 – Cyrus

+0

當您重新加載時,內容腳本不會自動重新加載你的擴展,所以你需要重新加載選項卡。 – wOxxOm

+0

我確信我已經完成了它,但它仍然沒有效果。你能給我一些你認識的例子嗎? – Cyrus