【问题标题】:Error with Chrome extension - "Mixed Content: This request has been blocked; the content must be served over HTTPS"Chrome 扩展出错 - “混合内容:此请求已被阻止;内容必须通过 HTTPS 提供”
【发布时间】:2016-03-01 14:17:39
【问题描述】:

我在我的 chrome 扩展程序中使用跨域数据调用。我创建了一个 PHP 函数来使用 API。所以我正在使用 JSONP 调用这个函数,并期望得到这些值作为回报。但这是我在控制台中遇到的错误。

谁能帮我解决这个问题。这里有什么问题?我需要做什么?我对 chrome 扩展没有任何经验。

在我的情况下,我认为只有 YouTube 会阻止内容,因为它期望跨域连接是 HTTPS。所以它不允许跨域调用。嗯,这就是我的想法。但是,如果可以使用后台脚本解决该问题。您能帮忙说明一下如何进行吗?

【问题讨论】:

  • 简而言之:如果页面提供带有限制 connect-src 的内容安全策略标头,则内容脚本中的 XHR/AJAX 将失败。另请注意,在"http://*/" 中,* 表示任何 host 而不是任何 path,应该是 "http://*/*" 或更好的 "http://192.168.40.141/*"
  • 是的,我已经检查了that page,所以我需要一个后台脚本。但是我应该如何使用它。该页面没有说明我的情况。因为在我的情况下,YouTube 正在阻止内容,因为它是通过 HTTPS 而我的是在 HTTP 上。嗯,我想是的。
  • 该页面详细描述了您需要的一切。究竟是什么不清楚?
  • @AkashKumar — 所以不要在没有 SSL 的情况下通过 HTTP 提供脚本。

标签: javascript ajax


【解决方案1】:

我遇到了和你一样的问题,我只是将我的 AJAX URL 更改为 HTTPS,如下所示:

我的旧网址是

var url="http://fanyi.youdao.com/openapi.do?keyfrom=fgbnbb&key=1276642867&type=data&doctype=json&version=1.1&q="+txt;

然后,我将其更改为var url="https://fanyi.youdao.com/openapi.do?keyfrom=fgbnbb&key=1276642867&type=data&doctype=json&version=1.1&q="+txt;, 然后,问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-29
    • 2015-03-23
    • 2018-12-18
    • 2018-08-30
    • 2016-08-28
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    相关资源
    最近更新 更多