我正在使用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”。如何让这两个文件相互通信?或者他们可以吗?
答案 0 :(得分:0)
内容脚本在加载页面的上下文中运行,因此它将查找#values
的位置。您无法在内容脚本和扩展的其余部分之间直接 进行通信。您必须使用messaging API(该页面上的即用型示例)。