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

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

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

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

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

编辑:只是一个后续行动,我一直在使用这个为我的公司的广告服务器在生产很多事情没有问题现在几年了。

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

不幸的是,如果在link@import上使用协议相关的URL,那么IE7和-8会出现一个错误,这会使他们下载资源两次。这不应该是一个大问题,但是很难看,而且应该保存在心神。

如果您正在本地机器上开发,那么src="file://host.com/filename".可能会失败src="file://host.com/filename".

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