【问题标题】:Ajax call not working chrome extension with manifest v2Ajax 调用不适用于清单 v2 的 chrome 扩展
【发布时间】:2014-03-21 23:51:45
【问题描述】:

我正在尝试使用类似这样的基本 chrome 扩展

chrome.omnibox.onInputChanged.addListener(function(text, suggest){
       var baseUrl = "http://sample.com";
       var finalResult = [];
              $.ajax({
                     url : baseUrl,
                     dataType : "jsonp",
                     success: function(result) {
                                     for (var i=0; i<result[1].legnth; i++){
                                          finalResult.push(
                                                 {content : result[1][i], description : result[1][i]}
                                          );
                                     }
                                     suggest(finalResult);
                              },
                     async: false
              });           
});

这适用于清单版本 1,但是当我将其更改为 v2 时,我收到以下错误。我会很感激任何帮助:)

拒绝加载脚本“http://sample.com”,因为它违反了以下内容安全策略指令:“script-src 'self' chrome-extension-resource:”。

【问题讨论】:

    标签: javascript jquery ajax google-chrome-extension


    【解决方案1】:

    你应该阅读Content Security Policy

    完成清单文件:

        "content_security_policy": "script-src 'self' http://sample.com; object-src 'self'",
    

    【讨论】:

    • 感谢您的帮助。由于某种原因,这似乎无法解决。因此,如果我有 'sample.com/w/…"' 并且我附加了一个搜索关键字并在其上调用 .ajax,那么只需在清单文件中提及 sample.com 就可以解决它吗?
    • 哦,链接有,"content_security_policy": "script-src 'self' example.com; object-src 'self'",
    • 这不起作用,除非您通过 HTTPS 提供 example.com...如果它是跨域
    • @Richard content security policy link 来自谷歌
    猜你喜欢
    • 2021-03-26
    • 2021-11-28
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多