我正在为单词翻译开发一个简单的扩展。
我所坚持的是我使用内部页面进行设置。我想要做的是将一个数组(或至少-i' m毁灭的数据)从这个内部页面传递给内容脚本。
我已经尝试了
内容脚本
var port = chrome.runtime.connect();
window.addEventListener("message", function(event) {
// We only accept messages from ourselves
if (event.source != window)
return;
if (event.data.type && (event.data.type == "FROM_PAGE")) {
window.alert("Content script received: " + event.data.text);
port.postMessage(event.data.text);
}
}, false);
内部网页的javascript
window.postMessage({ type: "FROM_PAGE", text: "Hello from the webpage!" }, "*");
内部页面是一个html文件。我想将它用作设置页面。就像AdBlock"选项"您可以从其弹出页面访问的页面。
的manifest.json
{
"manifest_version": 2,
"name": "Jun",
"description": "See selected words' equivalent.",
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"browser_action": {
"default_icon": "icon.png",
"default_title": "Click Here!",
"default_popup": "popup.html"
},
"permissions": [
"storage",
"tabs"
],
"content_scripts": [{
"matches": ["http://*/*", "https://*/*"],
"css": ["/lib/jquery-ui.min.css"],
"js": ["/lib/jquery-3.1.1.js", "/lib/jquery-ui.min.js", "/lib/jquery.mark.js", "content.js"],
"run_at": "document_end"
}]
}
到目前为止还有其他一些无用的东西。
澄清;扩展页链接
铬扩展://inbhgljjpkpodbamjfkehcmloabbhccn/category_settings/categorySettings.html
我希望我能表达自己。
提前致谢!
PS:你可以看到来自https://github.com/MisketAdam/Jun
的项目PS2:
扩展程序目录
.
|──*etc*
|──content.js
|──category_settings/
| |──categorySettings.js
| |──categorySettings.css
| |──categorySettings.html
| |──*etc*
解决
是的......经过全面阅读https://developer.chrome.com/extensions/messaging并尝试
chrome.runtime.sendMessage
在内部页面的javascript并从后台页面处理它使它工作。
谢谢大家!