2011-12-05 74 views
0

我剛做了一個Chrome擴展。我按照這個tutorial在我的工具欄中獲得一個不錯的按鈕。現在,如果我加載一個頁面,我的擴展中的JavaScript會被執行。Chrome擴展程序

不幸的是,如果我點擊我的工具欄擴展的按鈕,沒有任何反應。

問:我如何做,當我在我的工具欄點擊擴展的按鈕JS得到執行?

感謝您的幫助。

編輯 我加入background.html,它仍然不工作:

<html> 
<head> 
<script> 
    // Called when the user clicks on the browser action. 
    chrome.browserAction.onClicked.addListener(function(tab) { 
    var action_url = "javascript:mathjax.js"; 
    chrome.tabs.update(tab.id, {url: action_url}); 
    }); 
</script> 
</head> 
</html> 

回答

3

你有兩個選擇。或者,您可以在manifest.json中指定"popup": "popup.html",然後將代碼放入popup.html。在這種情況下,代碼將在彈出窗口中執行(當然,您可以與您的背景頁面或其他任何東西進行通信)。

可能更好的是通過附加一個聽衆chrome.browserAction.onClicked來回撥background.html

+0

可愛,謝謝你,你能告訴我怎麼附加一個偵聽onClicked? –

+0

我把這個變成background.html,但它仍然不會觸發:'<!DOCTYPE HTML!> 背景頁 ' –

+0

奇...我會用它今天晚些時候玩,看看有什麼向上。如果您僅嘗試在onClicked上顯示警報,會發生什麼情況? –

0

Chrome擴展不支持內嵌在background.html.You JavaScript代碼必須file.Also而是指定指定background.html您可以直接在後臺財產清單文件中指定的外部文件的外部JavaScript。

我已經回答了類似的問題here

+1

也許從其他答案的一些細節添加到這一個,而不是隻提供一個鏈接/評論 –