我正在尝试构建一个使用页面操作弹出功能的 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。
最佳答案
首先,Chrome 扩展不允许运行内联 Javascript 代码(也就是任何不包含在 .js 文件中但包含在 DOM 中的代码)。
引自the Content Security Policy page :
There is no mechanism for relaxing the restriction against executing inline JavaScript. In particular, setting a script policy that includes 'unsafe-inline' will have no effect.
因此,您需要将您的代码放入另一个文件中并导入它,如下所示:
<sctipt src="popup.js"></script>
其次,您在弹出窗口中运行的代码记录在其自己的控制台中,因此您必须右键单击您的扩展程序的图标,然后点击“检查弹出窗口”。然后,将出现一个开发人员工具窗口,您将能够浏览到“控制台”选项卡并查看日志。或者,您可以打开弹出窗口并右键单击其中的任意位置,然后选择“检查元素”,就像在任何普通页面上一样。
关于javascript - 您可以在页面操作弹出窗口中使用 javascript 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27888988/