您可以在页面操作弹出窗口中使用 javascript 吗?
Can you use javascript in a page action popup?
我正在尝试构建一个使用页面操作弹出功能的 chrome 扩展程序,但我的 javascript 的 none 似乎可以正常工作。这是来源:
<!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>
其次,您 运行 进入弹出窗口的代码已记录在其自己的控制台中 ,因此您必须右键单击扩展程序的图标,然后点击 "Inspect popup"。然后,将出现一个开发人员工具 window,您将能够浏览到 "Console" 选项卡并查看日志。或者,您可以打开弹出窗口并右键单击其中的任意位置,然后选择 "Inspect element",就像在任何普通页面上一样。
我正在尝试构建一个使用页面操作弹出功能的 chrome 扩展程序,但我的 javascript 的 none 似乎可以正常工作。这是来源:
<!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>
其次,您 运行 进入弹出窗口的代码已记录在其自己的控制台中 ,因此您必须右键单击扩展程序的图标,然后点击 "Inspect popup"。然后,将出现一个开发人员工具 window,您将能够浏览到 "Console" 选项卡并查看日志。或者,您可以打开弹出窗口并右键单击其中的任意位置,然后选择 "Inspect element",就像在任何普通页面上一样。