2010-05-05 52 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(即時可用的示例)。