繁体   English   中英

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

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

我正在为Google Chrome开发扩展程序。 但是我在使用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将不会执行。
此限制禁止内联块和内联事件处理程序(例如<button onclick =“ ...”>)。

该限制使您无法意外执行恶意第三方提供的脚本,从而消除了一大堆跨站点脚本攻击。 但是,它确实要求您编写代码时必须将内容和行为区分开。

更改您的代码,如下所示:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM