首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >popup.html和content.js之间的Chrome扩展消息传递

popup.html和content.js之间的Chrome扩展消息传递
EN

Stack Overflow用户
提问于 2018-06-16 02:51:41
回答 1查看 210关注 0票数 0

所以我有这个脚本,它在网站上运行,并根据某些参数收集一些数据,它本身工作得很好,但我希望能够有一个带有单个按钮的browserAction弹出窗口,单击它将触发上述脚本。

我认为我的问题是我不能通过按下按钮来发送消息,我不知道如何实现这一点,我也没有读过任何browserAction教程。

下面是我的代码: popup.html

代码语言:javascript
复制
<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

代码语言:javascript
复制
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

代码语言:javascript
复制
$(document).ready(function(){
    init();
    chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){
        if(request.message === "clicked_browser_action"){
            popup();
        }
    })
});

我知道我的其余代码可以正常工作,因为我已经通过添加

代码语言:javascript
复制
browserAction.onClick.addListener(function(tab){ ... });

代替……

代码语言:javascript
复制
function click() { ... }

一切都如我所愿。

我该如何正确地实现按钮?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50881251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档