首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Chrome消息传递,我做错了什么?

Chrome消息传递,我做错了什么?
EN

Stack Overflow用户
提问于 2011-05-14 19:13:26
回答 1查看 210关注 0票数 1

这不是真正的扩展,我只是想看看它是如何工作的。

基本上,在我的background.html页面中,我有以下内容:

代码语言:javascript
代码运行次数:0
运行
复制
function test3()
{
alert("blah3");
chrome.extension.sendRequest('test2');
}

在我的popup.html页面中,我有这样的内容:

代码语言:javascript
代码运行次数:0
运行
复制
chrome.extension.onRequest.addListener(
    function(request, sender, sendResponse) {
        if(request.function == "test3") {
           alert("Works!");
           }
    }
);

但警报“起作用”似乎从未被称为..。我甚至试图替换

代码语言:javascript
代码运行次数:0
运行
复制
 alert("Works!");

与call_test_function();

它反过来有一个警报()..。但这也没有人打电话给我。

介意告诉我哪里出了问题吗?给我密码让我的小例子起作用?

谢谢!R

编辑:我反转了它,现在我的代码如下所示:

清单:

代码语言:javascript
代码运行次数:0
运行
复制
  "name": "RyanTest for Chrome",
  "version": "0.1",
  "description": "Ryan testing messaging!",
     "background_page": "mf_background.html",
  "browser_action": {
    "default_icon": "icon.png",
    "popup": "pop_mf.html"

mf_background

代码语言:javascript
代码运行次数:0
运行
复制
<head>
<style type="text/css">
.style1 {
    font-family: Arial, Helvetica, sans-serif;
}
.style2 {
    font-size: x-small;
    font-family: Arial, Helvetica, sans-serif;
}
.style3 {
    margin-top: 1px;
}
.style4 {
    font-size: x-small;
}
.style5 {
    font-size: x-small;
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
}
</style><script>
var b="100";
chrome.extension.onRequest.addListener(
    function(request, sender, sendResponse) {
        if(request.function == "test2") {
           alert("Works!");
           console.log("This is in popup!");
           }
    }
);


</script>


</head>

pop_mf

代码语言:javascript
代码运行次数:0
运行
复制
<html><head><style>
body {
  min-width:357px;
  overflow-x:hidden;
}


</style>

<script>
// <!--

function test3()
{
//alert(b);
chrome.extension.sendRequest('test2');
}


test3();
// -->
</script></head><body>RyanTEST
</body></html>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-14 19:37:55

弹出窗口中的警报不起作用。使用console.log代替。

另外,应该是if(request.function == "test3"),而不是if(request == "test2") (此时必须打开弹出窗口)。

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

https://stackoverflow.com/questions/6004220

复制
相关文章

相似问题

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