2015-05-24 39 views
2

我有一個popup.html,並且我認爲這是非常簡單的監聽器事件。popup.html中的按鈕不起作用

這是我popup.html:

<!DOCTYPE html> 
<html> 
<body> 
    <button id="button">Starting Now</button> 

    <script> 
    function blah(){ 
     alert("blah"); 
    } 

    $(document).ready(function(){ 
     document.getElementById('button').addEventListener("click", blah); 
    }); 
    </script> 
</body> 
</html> 

那裏,當我按下按鈕沒有戒備;我究竟做錯了什麼?

+0

嘗試w3schools.com,偉大的網站上的一些文檔和教程。 http://www.w3schools.com/。你的html代碼需要知道你的javascript,你的html中沒有任何東西引用javascript。 – faljbour

+0

哇我覺得很笨,非常感謝! – imhappi

+0

[Chrome擴展程序彈出窗口不工作,點擊事件未處理]的可能重複(http://stackoverflow.com/questions/17601615/the-chrome-extension-popup-is-not-working-click-events-沒有處理) – abraham

回答

4

你的代碼是從視圖正常網頁點不錯,但Chrome的擴展開發的指導方針,你需要檢查Content Security Policy (CSP)它說:

聯JavaScript將不被執行。此限制禁止 內聯<script>塊和內聯事件處理程序(例如<button onclick="...">)。

那麼,什麼可以做,以測試你的代碼是把腳本代碼放在一個單獨的.js文件,然後在你的HTML參考它。

如約alert()使用意見建議的Xan
在地方的alert()您可以使用簡單的console.log()如果目的只是測試按鈕點擊,否則,如果你真的想彈出似的東西警報,然後創建一個模態對話框。


只是僅供參考可能OP是雖然已經意識到這一點):

由於您使用jQuerycheck this guideline also about loading jQuery or other libraries

+0

非常感謝:)我不知道Chrome擴展指南 – imhappi

+0

@imhappi歡迎:) – exexzian

+0

錯誤「CSP不允許'alert()'」,它不允許'eval()'。但是,無論如何,在焦點敏感的彈出窗口中設置焦點竊取警報窗口是一個壞主意。 – Xan