[英]How to check popup.html page when action occurs within content.js (Chrome Extension)?
[英]Chrome extension messaging between popup.html and content.js
因此,我有一个运行在网站上的脚本,并根据某些参数收集一些数据,该脚本本身可以很好地工作,但是我希望能够有一个带有单个按钮的browserAction弹出窗口,单击该按钮将触发上述脚本。
我相信我的问题是我无法通过按下按钮来发送消息,我也不知道该如何实现,也没有我阅读过的browserAction教程。
这是我的代码:popup.html
<html>
<body style="width: 200px; height: 150px;">
<script src="background.js"></script>
<div id="button" style="position:absolute; left: 75px;">
<button id="mb" onclick="click()">Initialise</button>
</div>
</body>
</html>
background.js
function click() {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
var activeTab = tabs[0];
chrome.tabs.sendMessage(activeTab.id, {"message": "clicked_browser_action"});
});
}
content.js
$(document).ready(function(){
init();
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){
if(request.message === "clicked_browser_action"){
popup();
}
})
});
我知道我的其余代码都能正常工作,因为我已经通过添加对它进行了测试
browserAction.onClick.addListener(function(tab){ ... });
代替
function click() { ... }
一切都按照我的意愿进行。
我将如何正确实现按钮?
与在html中定义事件内联相反,您需要在弹出窗口中使用Javascript添加单击事件监听器。
document.getElementById("mb").addEventListener("click", function(e){
//event will trigger here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.