您可以在页面操作弹出窗口中使用 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",就像在任何普通页面上一样。