我可以通过以下方式从弹出窗口向后台发送消息:
背景.js
chrome.runtime.onMessage.addListener(
function(request) {
alert(request.data.subject);
}
);
Run Code Online (Sandbox Code Playgroud)
弹出窗口.js
chrome.runtime.sendMessage({
msg: "something_completed",
data: {
subject: "Loading...",
content: "Just completed!"
}
});
Run Code Online (Sandbox Code Playgroud)
警报加载正常,但我需要做相反的事情。我希望后台在加载页面时发送 api 调用,并将该 api 调用的结果发送到 popup.js,以便它可以对 DOM 进行更改。当我切换上面的代码时,没有显示任何警报。我的manifest.json:
{
"name": "example",
"version": "0.0.1",
"description": "Chrome Extension's message passing example",
"browser_action": {
"default_icon": "images/get_started32.png",
"default_popup": "popup.html"
},
"background": {
"scripts": ["background.js"]
},
"content_scripts":[{
"matches":["http://*/*", "https://*/*"],
"js":["popup.js"]
}],
"permissions": [
"background","webRequest","webRequestBlocking","webNavigation","tabs","notifications"
],
"manifest_version": 2
}
Run Code Online (Sandbox Code Playgroud) 请注意,每个单元格内都有不同的颜色、不同的背景和字体样式。我可以创建一个这样的表:
var cells = [
['Row 1, Cell 1', 'Row 1, Cell 2'],
['Row 2, Cell 1', 'Row 2, Cell 2']
];
// Build a table from the array.
body.appendTable(cells);
Run Code Online (Sandbox Code Playgroud)
如何将格式应用于每个单独的单元格以及指定的文本范围内?有一种方法可以设置单元格的背景,但它设置的是整个单元格的背景而不是单元格的一部分。