解决Chrome扩展Content Security Policy错误:内联脚本执行被拒

作者:函数茶馆

时间:2026-10-27

浏览:560

在Chrome扩展开发中,直接在popup.html内联编写JS事件处理代码会触发Content Security Policy错误。解决方法是将JavaScript代码移至外部文件,并通过script标签引用该外部JS文件,从而避免CSP对内联脚本的阻止。

文章目录

Chrome扩展CSP内联脚本报错问题

问题描述:



在开发Chrome扩展的过程中,若需要在popup.html页面中执行JavaScript代码,直接通过内联方式动态绑定JS事件会引发报错。



浏览器控制台通常会提示如下错误信息:Refused to execute inline script because it violates the following Content Security Policy directive: “script-src ‘self' chrome-extension-resource:”..



通过外部JS文件解决CSP限制

解决办法:



正确的做法是在popup.html中引用一个外部的JavaScript文件,并在该外部文件中动态绑定JS事件。


// 此处为代码结束标记,实际开发中需确保逻辑完整

具体实现方式如下:

 
<script type="text/javascript" charset="utf-8" src='test.js'></script>

在外部文件test.js中编写如下代码:


// 此处为代码结束标记,实际开发中需确保逻辑完整

具体代码实现如下:

 
var listbox = document.getElementById("showlist");
listbox.onclick=function(){
document.getElementById("player_sidebar").style.width = 100;
} 

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章