【发布时间】:2019-08-04 17:22:36
【问题描述】:
我添加了一个新的(弹出窗口)window
不是您在清单中注册的 popup.html。
用户将信息放在窗口中,当他们单击按钮时,需要将信息发送到 content.js 脚本。
(弹出)窗口的 html 在扩展包中,因此无需在 manifest.json 中添加“externally_connectable”对象 而且它不是另一个扩展的一部分,所以你不要使用 sendMessageExternal 方法。
Manifest.json
{
"name": "extension name",
"version": "0.1",
"options_page": "settings.html",
"manifest_version": 2,
"background": {
"scripts": ["background.js"],
"persistent": false
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js":["jquery.min.js", "content.js"]
}
],
"browser_action": {
"default_popup": "popup.html",
"default_title": "Default title",
"default_icon": {
"16": "images/logo16.png",
"32": "images/logo32.png",
"48": "images/logo48.png",
"128": "images/logo128.png"
}
},
"icons": {
"16": "images/logo16.png",
"32": "images/logo32.png",
"48": "images/logo48.png",
"128": "images/logo128.png"
}
}
内容.js
chrome.runtime.onMessage.addListener(function(req, sender, senderres){
if(req.succes == true){
// Do stuff...
}
});
在(弹出)窗口中引用的js文件
window.onload = function(){
document.getElementById("BtnFinish").addEventListener('click',
function(){
chrome.runtime.sendMessage({succes: true});
self.close();
});
}
这是我在 background.js 中用来创建(弹出)窗口的代码
chrome.windows.create({
url: chrome.runtime.getURL("form.html"),
type: "popup"
});
我确实收到了任何错误消息。 该按钮可以激活每一段代码,但 content.js 没有收到任何内容。
如果您需要更多信息或我忘记了什么,请随时询问。
【问题讨论】:
标签: javascript google-chrome-extension