如何绕过这个“脚本来源'自我'”Chrome扩展程序错误

时间:2013-02-11 16:44:17

标签: javascript json jquery google-chrome-extension

所以我正在开发一个通过goo.gl缩短网址的Chrome扩展程序

这是我的实际代码,如果有帮助的话:

 $("#ajaxfiller").text("");
 //Get URL entered
 var longUrl = $("#input2").val();
 longUrl = '"' + longUrl + '"';


 function googlurl(url, cb) {
     jsonlib.fetch({
         url: 'https://www.googleapis.com/urlshortener/v1/url',
         header: 'Content-Type: application/json',

         // Just a static URL for shortening:

         data: JSON.stringify({
             longUrl: "https://google.com"
         })
     }, function (m) {
         var result = null;
         try {
             result = JSON.parse(m.content).id;
             if (typeof result != 'string') result = null;
         } catch (e) {
             result = null;
         }
         cb(result);
     });


 }

 googlurl(longUrl, function (s) {
     alert(s);
     $("#kinchyj").show();
     $("#ajaxfiller").val(s);
 });

Error

注意:当我将扩展程序的popup.html作为常规网页加载时,它会非常有用。

此错误似乎是Chrome安全措施。无论如何我可以在清单中列出白名单吗?

1 个答案:

答案 0 :(得分:0)

您可以使用manifest.json详细here修改content_security_policy中的安全政策。你需要的是:

"content_security_policy": "script-src 'self' https://www.googleapis.com/urlshortener/v1/url; object-src 'self'"

如果没有看到HTML,我无法分辨,但您最好将所有JavaScript移动到本地,通过<script>标记包含的外部文件。