0
我正在嘗試創建一個簡單的Chrome擴展,它將從頁面讀取一些數據,在擴展圖標上設置一個徽章計數,然後在彈出窗口中顯示數據。然而,我努力從我的內容腳本中獲取數據到我的背景js。Chrome.Runtime.SendMessage不工作
我看過很多關於這個的問題,在我看來,我做的一切都是正確的,但它仍然無法正常工作。
這是我做了什麼:
manifest.json的
{
"name": "__MSG_appName__",
"version": "0.0.1",
"manifest_version": 2,
"description": "__MSG_appDescription__",
"icons": {
"16": "images/icon-16.png",
"128": "images/icon-128.png"
},
"default_locale": "en",
"background": {
"scripts": [
"scripts.babel/chromereload.js",
"scripts.babel/background.js"
]
},
"content_scripts" : [
{
"matches": ["http://localhost:9000/*"],
"js":["scripts.babel/myscript.js"]
}
],
"permissions": [],
"browser_action": {
"default_icon": {
"19": "images/icon-19.png",
"38": "images/icon-38.png"
},
"default_title": "MiAssist",
"default_popup": "popup.html"
}
}
內容腳本:
myscript.js
"use strict";
var names = findNames();
sendNames(names);
function findNames()
{
var names = [];
//finds names..
return names;
}
function sendNames(names)
{
// Bind event:
chrome.runtime.sendMessage(null, names, null,
function(response) {
// Do something
;
});
}
個background.js
'use strict';
chrome.runtime.onInstalled.addListener(details => {
console.log('previousVersion', details.previousVersion);
});
// Bind event:
chrome.runtime.onMessage.addListener(
function(names, sender, sendResponse) {
console.log("background.js");
if(names.length > 0)
{
chrome.browserAction.setBadgeText({text: names.length});
}
});
所有這一切都不起作用。 onMessage匿名函數永遠不會到達。
請問有人可以幫助我嗎?任何幫助將不勝感激。謝謝。
嘗試沒有的sendMessage –
@JaromandaX感謝第一個空,但沒有工作:(由內容腳本中設置斷點調試 – kingLoosh
它和後臺腳本。 – wOxxOm