HTTPS 和外部 (CDN) 托管文件?
Posted
技术标签:
【中文标题】HTTPS 和外部 (CDN) 托管文件?【英文标题】:HTTPS and external (CDN) hosted files? 【发布时间】:2011-04-07 01:27:38 【问题描述】:我有一个页面引用了几个外部托管的 javascript 文件 - 即 jQuery on Google 和 YUI using YUI Loader。
问题是当我通过 HTTPS 访问页面时,浏览器会抱怨混合的不安全内容,因为外部 javascript 文件是使用 http 而不是 https 访问的。
有什么好的方法来处理这个问题,用 HTTPS 访问外部的 jQuery 和 YUI Loader 对象?
【问题讨论】:
【参考方案1】:假设 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 上下文中。
【讨论】:
很好,没想到你可以放弃协议。会试一试。【参考方案2】:Google 在 https 下托管它们
https://ajax.googleapis.com/ajax/libs/yui/2.8.1/build/yuiloader/yuiloader-min.js
https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
【讨论】:
以上是关于HTTPS 和外部 (CDN) 托管文件?的主要内容,如果未能解决你的问题,请参考以下文章
CDN 或外部 JavaScript 文件如何在网站中工作?
如何使用 webpack 在 js 文件中加载 CDN 或外部供应商 javascript lib,而不是在 html 文件中