HTTPS和外部(CDN)托管的文件?

30

我有一个页面引用了几个外部托管的JavaScript文件,分别是Google上的jQuery使用YUI Loader的YUI

问题在于当我通过HTTPS访问该页面时,浏览器会因为外部的JavaScript文件使用http而不是https而抱怨混合不安全内容。

如何处理这个问题,以HTTPS方式访问外部的jQuery和YUI Loader对象?

2个回答

90
假设CDN提供商有https版本,您可以使用协议相对URL。 例如,不要使用以下方式:
http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js

你可以使用以下方法:

//ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js
浏览器将使用页面的协议尝试获取文件。在非安全页面上使用http,在安全页面上使用https。
Google还通过其CDN提供YUI Loader。因此,对于YUI,这很好用:
//ajax.googleapis.com/ajax/libs/yui/2.8.0/build/yuiloader/yuiloader-min.js

...在http和https环境中都适用。


1
不错,没想到可以省略协议。我会试一下的。 - Parand


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接