...此内容也应通过HTTPS加载

时间:2014-03-05 11:51:09

标签: javascript jquery https

美好的一天。

网站https://mult-privet.com/

在我的Chrome控制台中,我看到了以下错误:

[blocked] The page at 'https://yandex.st/share/ya-share-cnt.html?url=
https%3A%2F%2Fmult-privet.com%2F&services=yaru,
vkontakte,facebook,twitter,odnoklassniki,moimir' 
was loaded over HTTPS, but ran insecure content 
from 'http://connect.odnoklassniki.ru/dk?st.cmd=extOneClickLike&uid=odklocs0&
ref=https%3A%2F%2Fmult-privet.com%2F': 
this content should also be loaded over HTTPS.

为什么还要通过HTTPS加载此URI?

为什么我会收到此错误,如何将其删除?

3 个答案:

答案 0 :(得分:18)

在Chrome地址栏的右侧,点击盾牌图标,然后点击“加载不安全的脚本”。完成!

enter image description here

答案 1 :(得分:9)

  

为什么还要通过HTTPS加载此内容?

由于:

  • 如果您将不安全的内容注入其他安全页面,则可以拦截,替换不安全的内容,从而使安全内容不安全
  • 当部分内容不是
  • 时,浏览器无法继续告诉用户该页面是安全的
  

请告诉我为什么我会收到此错误

您正在将没有SSL内容的HTTP加载到带有SSL页面的HTTP中。

  

以及如何删除它?

对页面上的所有内容使用HTTPS。

答案 2 :(得分:6)

为什么会出现此错误

昆汀的答案很好地解释了这一点。我会澄清你得到mixed content error

如何解决此错误

尽管Quentin的答案提供了最理想的解决方案,但有时使用协议相对URL解决混合内容错误会更方便,其中http[s]?:前缀从URL中删除。例如,更改此:

http://connect.odnoklassniki.ru/dk?st.cmd=extOneClickLike&uid=odklocs0&
ref=https%3A%2F%2Fmult-privet.com%2F

到此:

//connect.odnoklassniki.ru/dk?st.cmd=extOneClickLike&uid=odklocs0&
ref=https%3A%2F%2Fmult-privet.com%2F

删除http:前缀。它将让浏览器确定协议。在上面的示例中使用协议相对URL时,如果您在SSL加密页面上,浏览器将访问https://connect.odnoklassniki ... URL,并且在非SSL页面上,它将访问{{1} } ... URL,假设两个协议都适用于URL。

然而,some pitfalls使用协议相对URL,例如确保URL后面的服务器能够同时提供http://connect.odnoklassnikihttp协议。 This SO post解决了使用协议相对URL的更多原因。