我正在尝试构建使用页面操作弹出功能的chrome扩展程序,但我的javascript似乎都没有工作。这是来源:
<!DOCTYPE html>
<html>
<body>
<input type="button" id="button1" value="first button">
<input type="button" id="button2" value="second button">
<script>
console.log("do anything!!");
</script>
</body>
</html>
我无法在任何地方看到记录器声明。我似乎无法运行任何东西。弹出窗口应该如何工作?文档没有提到这些弹出窗口只是静态HTML。
答案 0 :(得分:6)
首先, Chrome扩展程序不允许运行内联Javascript代码(也就是任何未包含在.js文件中但在DOM中的代码)。
引自the Content Security Policy page:
没有放松对执行内联JavaScript的限制的机制。特别是,设置包含“unsafe-inline”的脚本策略将不起作用。
因此,您需要将代码放在另一个文件中并导入它,如下所示:
<sctipt src="popup.js"></script>
其次,您在弹出窗口中运行的代码会记录在自己的控制台中,因此您必须右键单击扩展程序的图标,然后点击“检查弹出窗口”。然后,将出现一个开发人员工具窗口,您将能够浏览到“控制台”选项卡并查看日志。或者,您可以打开弹出窗口并右键单击其中的任何位置,然后选择“检查元素”,就像在任何普通页面上一样。