在https页面上通过http加载Chrome脚本

时间:2013-12-20 10:16:31

标签: javascript html google-chrome ssl https

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

<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中完美加载。所以这只是铬问题。所有路径都是相对的。

1 个答案:

答案 0 :(得分:4)

这可能是您的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" />