2

我有一個鉻擴展,我想要觸發,只要我按下彈出。目前我只有在我從manifest.json中刪除popup.html時才能做到這一點,因爲它有一個限制。不過,我需要popup.html繞過「無彈出」,如果我想要一個JavaScript運行時擴展點擊

我該如何獲得兩者?

我曾嘗試在popup.html中的popup.js(在popup.html中正確鏈接)中放置完全相同的東西,並且沒有任何東西。

總之,如果我把這個在background.js:

chrome.browserAction.onClicked.addListener(function(info, tab) { 
    speakMe(); 
    }); 

它的工作原理。

但是,這意味着清單中沒有popup.html。所以,我嘗試這樣做:

<script> 
    chrome.browserAction.onClicked.addListener(function(info, tab) { 
    speakMe(); 
}); 
    </script> 

在popup.html中。它不起作用。按下圖標會正常顯示彈出窗口,但沒有任何反應。

我嘗試將它放置在popup.js中,仍然沒有。我究竟做錯了什麼?

回答

2

添加一個onload監聽到你的popup.js:

onload = function() { console.log("I loaded!"); }; 

在該功能的彈出窗口時,你可以做有趣的事情。如果您想要獲得更多幻想,您可能遇到https://code.google.com/p/chromium/issues/detail?id=31262中描述的問題。順便說一下,你還沒有告訴我們什麼「它不工作」的意思(哪一行失敗?是否有控制檯錯誤消息?),所以很難確定這個答案(或任何)是對你有幫助。請參閱https://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist以瞭解步驟,以確保給出的答案是對您問題的答案。

+0

嗨。 onload工作!然而,我需要運行的函數駐留在另一個文件中(擴展名爲background.js文件)。我可以以某種方式稱呼它嗎? – user19882

+0

如果它回答你的問題,你應該接受這個答案,而不是在評論中提出第二個問題。至於你的第二個問題,這似乎是http://stackoverflow.com/questions/13777887/call-background-function-of-chrome-extension-from-a-site或類似的東西的副本。 – sowbug

相關問題