popup.html中的按钮无法正常工作

时间:2015-05-24 00:29:29

标签: javascript google-chrome-extension

我有一个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>

按下按钮时没有警报;我做错了什么?

1 个答案:

答案 0 :(得分:4)

从正常网页的角度来看,您的代码是可以的,但根据Chrome扩展程序开发的指南,您需要检查Content Security Policy (CSP),其中包含:

  

不会执行内联JavaScript。这种限制禁止两者   内联<script>块和内联事件处理程序(例如<button onclick="...">)。

因此,您可以执行的测试代码的方法是将脚本代码放在单独的.js文件中,然后在您的html中引用它。

正如Xan在关于alert()用法的评论中所建议的那样:如果目的仅限于alert(),您可以使用简单console.log()测试按钮单击,否则如果你真的想要像弹出警报一样,那么创建一个模态对话框。

仅供参考可能OP已经知道了):

由于您使用的是jQuery check this guideline also about loading jQuery or other libraries