Javascript无法在Google Chrome扩展程序的选项页面中使用

时间:2013-12-05 16:45:21

标签: javascript google-chrome-extension

我正在开发谷歌浏览器的扩展程序。但是我在使用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>

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

是否有任何明显缺少的权限才能使用?

1 个答案:

答案 0 :(得分:0)

您无法执行内联脚本,这是Content Security Policy

  

不会执行内联JavaScript。
  这种限制禁止两者   内联块和内联事件处理程序(例如&lt; button   onclick =“...”&gt; )。

     

该限制消除了大量的跨站点脚本攻击   使您无法意外执行脚本   由恶意第三方提供。但是,它确实需要你   编写代码,清楚地分离内容和行为。

按如下方式更改您的代码:

<!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();