Javascript在Google Chrome扩展的选项页中不起作用

Javascript is not working in the options page of the Google Chrome extension

本文关键字:选项 不起作用 扩展 Google Chrome Javascript      更新时间:2024-03-18

我正在为googlechrome开发一个扩展。但我在使用localStorage时遇到了问题,也无法使用javascript。

请参阅以下代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="pt-br">
    <head>
        <script type="text/javascript">
            function ShowAlert() {
                alert("This is a alert!");
            }
        </script>
    </head><body>
        <script>
            ShowAlert();
        </script>
    </body>
</html>

这是一个显示消息的简单代码,它很有效,我已经测试过了。但是,当我作为扩展的选项页访问时,消息将不会出现。

是否有任何应该在清单中缺失的权限使其工作?

您不能执行内联脚本,这是一个内容安全策略

内联JavaScript将不会执行
此限制禁止内联块和内联事件处理程序(例如<buttononclick="…">)。

该限制消除了大量跨站点脚本攻击通过使您不可能意外执行脚本由恶意第三方提供。但是,它确实要求您在编写代码时,要将内容和行为完全分开。

更改您的代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="pt-br">
    <head>
        <script src="alerter.js"></script>
    </head>
    <body>
    </body>
</html>

和alerter.js 中的单独代码

function ShowAlert() {
    alert("This is a alert!");
}
ShowAlert();