Вызов CONTENT_SCRIPT JS из всплывающего HTML BROWSER_ACTION - PullRequest
1 голос
/ 05 мая 2010

Я работаю над расширением Google Chrome и хотел бы получить HTML-код из моего всплывающего HTML-кода для вызова функций из моего загруженного файла JavaScript. Мой манифест следует:

{
    "name": "Extension",
    "version": "1.0",
    "description": "Extension",
    "browser_action": {
        "default_icon": "icon.png",
        "default_title": "Ext",
        "popup": "popup.html"
    },
    "content_scripts": [{
        "matches": ["http://*/*"],
        "css": ["ext.css"],
        "js": ["jquery.js","scripts.js"]
    }],
    "permissions": [
        "http://*/*"
    ]
}

Как вы видите, я загружаю локальную копию jQuery вместе с другим файлом javascript для моей собственной логики. Мой всплывающий документ выглядит так:

<select id="values">
    <option>Foo</option>
    <option>Bar</option>
</select>

И содержимое моего scripts.js файла следующее:

$(function(){
  $("#values").change(function(){
    alert("Foo");
  });
});

Это не делает то, что я ожидаю - оповещение «Foo» каждый раз, когда я меняю значение в моем всплывающем HTML. Как я могу получить эти два файла для связи друг с другом? Или они вообще могут?

1 Ответ

0 голосов
/ 05 мая 2010

Сценарий содержимого выполняется в контексте загруженной страницы, поэтому он будет искать #values. Вы не можете общаться напрямую между скриптами содержимого и остальной частью расширения. Вам придется использовать API обмена сообщениями (готовый пример на этой странице).

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