我有一个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 :(得分: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。