【问题标题】:Chrome loading script over http on https page在 https 页面上通过 http 加载 Chrome 脚本
【发布时间】:2014-01-09 04:14:35
【问题描述】:

我们在模板中有绝对路径,即:

<link rel="stylesheet" href="/media/css/ui.css?v=3" />

当我尝试打开 https 页面时 - 我收到以下错误:

[blocked] The page at 'https://{{ full_site }}/{{secure_page}}' was loaded over HTTPS, 
but ran insecure content from 'http://{{full_site }}/media/css/ui.css?v=3': 
this content should also be loaded over HTTPS.

但是路径https://{{full_site }}/media/css/ui.css?v=3 是可用的...

告诉我,为什么 chrome 试图在 https 页面上通过 http 加载内容?以及如何强制它在相对路径上通过 https 加载脚本?

UPD 页面在 Firefox 中完美加载。所以这只是镀铬问题。所有路径都是相对的。

【问题讨论】:

标签: javascript html google-chrome ssl https


【解决方案1】:

这可能是您的 CSS 文件 ui.css 可能通过 background or background-image 属性引用资源(例如图像)的原因,该属性正在加载不安全的内容(来自 HTTP 服务器的内容)

如果您的网站上有资源,请使用 相对协议链接,例如

url(//example.com/images/some_image.png)

同样,更新您的链接以使用相关协议链接,例如

<link rel="stylesheet" href="//{{full site}}/media/css/ui.css?v=3" />

【讨论】:

  • 在 css 中我们有 urlbackground: url("/media/images/lock.png");... 添加 //{{fullsite}}/ 必须有帮助吗?如果我们有多域应用程序怎么办?
猜你喜欢
  • 2013-12-29
  • 2019-01-03
  • 1970-01-01
  • 2018-07-04
  • 1970-01-01
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多