…此内容也应通过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?
为什么我会收到此错误,如何删除它?
在Chrome地址栏的右侧,单击盾牌图标,然后单击“加载不安全脚本”。 完成!
为什么还要通过HTTPS加载此内容?
因为:
- 如果您将不安全的内容注入到其他安全页面中,则可以拦截,替换不安全的内容,从而使安全内容不安全
- 浏览器不能老实地继续告诉用户该页面的部分内容是不安全的
告诉我,为什么我得到这个错误
您正在将没有SSL内容的HTTP加载到带有SSL页面的HTTP中。
以及如何删除这个?
对页面上的所有内容使用HTTPS。
为什么会出现此错误
昆汀的答案很好地解释了这一点。 我想澄清一下,你收到混合内容错误 。
如何解决此错误
虽然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页面上,它将访问http://connect.odnoklassniki
… URL,假设两个协议都适用于URL。
但是,使用协议相对URL存在一些缺陷 ,例如确保URL后面的服务器能够同时提供http
和https
协议。 此SOpost解决了使用协议相对URL的更多原因。