【问题标题】:Can you use javascript in a page action popup?您可以在页面操作弹出窗口中使用 javascript 吗?
【发布时间】:2015-04-22 07:36:45
【问题描述】:

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

【问题讨论】:

标签: javascript google-chrome-extension


【解决方案1】:

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

引用the Content Security Policy page:

没有机制可以放宽对执行内联 JavaScript 的限制。特别是,设置包含“unsafe-inline”的脚本策略将无效。

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

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

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

【讨论】:

  • 我真的很困惑你,在这个标签上的所有人中,don't see it
  • @Xan 完全忘记了这一点……可能是因为我从未尝试在我的扩展中编写内联代码,也从未使用过“unsafe-eval”。感谢您注意到这一疏忽。
猜你喜欢
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 2015-09-19
  • 1970-01-01
  • 1970-01-01
  • 2015-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多