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

时间:2011-05-14 19:13:27

标签: javascript google-chrome google-chrome-extension

这不是一个真正的扩展,我只是在四处看看它是如何工作的。

基本上,在我的background.html页面中,我有这个:

function test3()
{
alert("blah3");
chrome.extension.sendRequest('test2');
}

在我的popup.html页面中,我有这个:

chrome.extension.onRequest.addListener(
    function(request, sender, sendResponse) {
        if(request.function == "test3") {
           alert("Works!");
           }
    }
);

但警告“作品”似乎从未被称为...... 我甚至试图替换

 alert("Works!");

与 call_test_function();

反过来又有一个alert()......但是也没有被调用。

心情告诉我哪里出错了?给我一些代码让我的小例子有用吗?

谢谢! [R

编辑: 我把它改了,现在我的代码如下:


清单:

  "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

<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

<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>

1 个答案:

答案 0 :(得分:3)

警报在弹出窗口中不起作用。请改用console.log

也可以代替if(request.function == "test3") if(request == "test2")(此时必须打开弹出窗口)