Передача сообщений Chrome, что я делаю не так? - PullRequest
1 голос
/ 14 мая 2011

Это не настоящее расширение, я просто пытаюсь понять, как это работает.

В основном, на моей странице 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 ();

который в свою очередь имеет оповещение () ... но также не вызывается.

Разум говорил мне, где я ошибся? И дать мне код, чтобы мой маленький пример работал?

Спасибо! R

EDIT: Я поменял его, теперь мой код выглядит так:


Manifest:

  "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 Ответ

3 голосов
/ 14 мая 2011

Оповещения не работают во всплывающих окнах.Вместо этого используйте console.log.

Также вместо if(request.function == "test3") должно быть возможно if(request == "test2") (и всплывающее окно должно быть открыто в данный момент)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...