在尝试创建基本的Firefox插件时不断出现内容安全策略错误,但我不确定如何修复它们

时间:2019-04-15 22:03:46

标签: javascript html firefox-addon content-security-policy

我正在尝试创建一个基本的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”)加载资源。

非常感谢您的帮助!

0 个答案:

没有答案