你能在页面动作弹出窗口中使用javascript吗?

时间:2015-01-11 15:50:27

标签: javascript google-chrome-extension

我正在尝试构建使用页面操作弹出功能的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。

1 个答案:

答案 0 :(得分:6)

首先, Chrome扩展程序不允许运行内联Javascript代码(也就是任何未包含在.js文件中但在DOM中的代码)。

引自the Content Security Policy page

  

没有放松对执行内联JavaScript的限制的机制。特别是,设置包含“unsafe-inline”的脚本策略将不起作用。

因此,您需要将代码放在另一个文件中并导入它,如下所示:

<sctipt src="popup.js"></script>

其次,您在弹出窗口中运行的代码会记录在自己的控制台中,因此您必须右键单击扩展程序的图标,然后点击“检查弹出窗口”。然后,将出现一个开发人员工具窗口,您将能够浏览到“控制台”选项卡并查看日志。或者,您可以打开弹出窗口并右键单击其中的任何位置,然后选择“检查元素”,就像在任何普通页面上一样。

enter image description here