2010-05-05 39 views
1

我正在使用Google Chrome扩展程序,并希望从弹出的HTML中获取HTML以调用加载的JavaScript文件中的函数。我的清单如下:从BROWSER_ACTION调用CONTENT_SCRIPT JS弹出窗口HTML

{ 
    "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。我怎样才能让这两个文件与海誓山盟沟通?或者他们可以呢?

+0

你试过了一个js调试器吗?任何错误? – 2010-05-05 00:55:42

+0

@Nikita我已经打开了铬控制台,但我没有看到它报告任何JS错误。我甚至不确定它是否会在扩展中报告错误。 – Aristotle 2010-05-05 01:51:42

回答

0

内容脚本在已加载页面的上下文中运行,因此它将在此处查找#values。您不能在内容脚本和其他扩展名之间直接沟通。您必须使用messaging API(即时可用的示例)。