我正在为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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句