10

我在 chrome 的调试控制台上不断收到以下错误

[blocked] The page at https://myURL/canvas ran insecure content from http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css.
[blocked] The page at https://URL/canvas ran insecure content from http://connect.facebook.net/en_US/all.js.
[blocked] The page at https://URL/canvas ran insecure content from http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js.

这些是附加到头部的js脚本

这是一个 facebook 应用程序,它向我自己的服务器发出 GET 请求,这正在工作,只是停止工作,我的代码没有任何变化!我不确定 Facebook 是否阻止了我的请求。

4

1 回答 1

39

当通过 HTTPS 加载主页(在您的情况下是您的 Facebook 应用程序)时,通过 HTTP 在其他域上加载脚本和其他外部资源(例如图像)时会发生这些错误。

查看应用程序的代码,调用外部脚本时使用协议相对 URL。例如,而不是这个:

<script src="http://connect.facebook.net/en_US/all.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css">

做这个:

<script src="//connect.facebook.net/en_US/all.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<link rel="stylesheet" type="text/css" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css">

编辑:请注意,如果在样式表上使用协议相对 URL,IE7 和 IE8 将下载两次: http: //paulirish.com/2010/the-protocol-relative-url/

于 2012-08-04T02:23:05.567 回答