浏览器支持以双斜杠开头的URL

问题描述 投票:99回答:2

我最近看到一些没有协议的链接。它似乎并不太难理解 - 我认为这是一个好主意,非常直观。

对于那些你不知道的人,使用像//example.com/script.js这样的URL会指向http://example.com/script.jshttps://example.com/script.js,具体取决于URL是否来自http或https URL。例如,包含来自https页面的http脚本或图像可能是一个安全问题,因此这解决了这一问题,而无需在代码中进行协议检测。

我的问题是,它有什么样的浏览器/操作系统支持?在生产中使用是否安全?这肯定会让事情变得容易一些。

简单的例子和​​测试:http://codetester.org/916c6916

编辑:只是一个跟进,我已经使用这个为我公司的广告服务器生产许多东西,现在几年没有问题。

url browser cross-browser
2个回答
84
投票

这种行为是RFC 1808(第4节)的一部分,大约16岁,所以每个主要的浏览器应该(并且确实)支持这一点。

遗憾的是,如果在a bug with IE7 and -8link上使用协议相对URL,那么@import将使他们下载资源两次 - 这应该不是一个大问题,但是很难看,应该记住。


2
投票

如果您正在使用本地计算机进行开发,则可能会因src="file://host.com/filename".而失败

在这种情况下,您需要明确指定方案:http://host.com/filenamehttps://host.com/filename

© www.soinside.com 2019 - 2024. All rights reserved.