我正在嘗試構建Chrome的擴展程序,但我是新手,而且無法理解Google提供的文檔。我希望擴展名有一個彈出窗口,顯示幾個按鈕,當點擊一個按鈕時,我想運行一個腳本。從popup.html中,如何通過按鈕onclick運行javaxcript函數?
這是我的設置:
popup.html
<button id="test1" onclick="getSite();">button 1</button>
<button id="test2" onclick="getSite();">button 2</button>
content_script.js
function getSite(){alert('getSite works!');}
我無法理解如何使用鉻的JavaScript API,如我看到其他人說使用chrome.tabs.executeScript
,但我無法弄清楚那條線的去向。誰能幫我?我會給你一個餅乾!或者只是一個upvote ..或者兩者兼而有之?
以下兩個答案都是正確的。您不能使用內聯事件屬性,也不能在瀏覽器操作彈出窗口中引用內容腳本中的變量。在單獨的JS文件中使用'addEventListener',並使用消息傳遞通過您的背景頁面。 – apsillers
Ohhh ..我想我只是想出來了,但在確認之前我會先測試一下。這是你如何使用'chrome.tabs.executeScript' 而不是隻輸入'alert('test');'你寫 'chrome.tabs.executeScript(null, {code:「alert('test' )「}); window.close();' – Jack
這是正確的;你也可以使用'{file:「some_file.js」}'來注入一個完整的文件。每個選項卡都有一個用於擴展腳本的獨立執行環境,並且它們都與背景區分開。 'executeScript'是後臺頁面如何獲得特定的選項卡來運行代碼。 – apsillers