我正在尝试创建一个基本的Firefox插件,该插件从Twitter URL抓取一个推特ID,并将该ID发送到服务器,并在弹出菜单中显示服务器返回的信息。但是,每当我运行加载项时,我都会不断收到内容安全策略错误。
我曾尝试研究内容安全策略,但是我没有太多经验,这一切似乎都困扰着我。我不确定是导致问题的原因是我的附件还是服务器。我尝试在manifest.json文件中添加权限,但没有帮助。
manifest.json中的权限:
"permissions": [
"*:// [server-address] *",
"webRequest", "activeTab"
],
带有CSP脚本和尝试的HTML(从某些教程中提取)
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
<script>
function GetTweetStories(){
if(window.location.href.match(/twitter.com/g) != null){
var path = window.location.pathname;
var n = path.lastIndexOf("/");
var id = path.substr(n+1);
console.log(id);
}else{
document.getElementById("story-1").innerHTML = "Not a Valild Page! Sorry!";
}
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200){
//var stories = this.responseText;
//var objs = JSON.parse(stories);
//console.log(objs[0].title);
document.getElementById("story-1").innerHTML = "hey";//objs[0].title;
}else{
console.log("failed server");
document.getElementById("story-1").innerHTML = "Not a Valid Page! Sorry!";
}
};
xhttp.open("GET", "url.txt", true);
xhttp.send();
}
该选项卡中包含的脚本最初是在一个单独的文件中,但在绝望中,我将代码移到了HTML文档中,以查看是否可能是问题的原因。
我希望发送请求时不会出现错误,并且我希望添加显示我收到的内容(一个JSON对象)。但是我一直收到以下错误:
内容安全政策:该页面的设置阻止以内联方式(“ script-src”)加载资源。
非常感谢您的帮助!