我正在开发谷歌浏览器的扩展程序。但是我在使用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>
这是一个显示消息的简单代码,它有效,我已经过测试。但是当我作为我的分机的选项页面访问时,该消息将不会出现。
是否有任何明显缺少的权限才能使用?
答案 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();