从BR​​OWSER_ACTION弹出HTML调用CONTENT_SCRIPT JS

时间:2010-05-05 00:25:16

标签: jquery google-chrome-extension

我正在使用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");
  });
});

这不是我所期望的 - 当我在弹出HTML中更改值时警告“Foo”。如何让这两个文件相互通信?或者他们可以吗?

1 个答案:

答案 0 :(得分:0)

内容脚本在加载页面的上下文中运行,因此它将查找#values的位置。您无法在内容脚本和扩展的其余部分之间直接 进行通信。您必须使用messaging API(该页面上的即用型示例)。