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

我最近看到一些没有协议的链接。这看起来并不难理解——我认为这是一个很好的想法,而且非常直观。

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

My question is, what sort of browser/OS support is there for it? Is it safe to use in production? It would certainly make things a bit easier.

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

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

26306 次浏览

这种行为是16年前的 RFC 1808(第4节)的一部分,所以每个主流浏览器都应该(而且确实)支持这种行为。

遗憾的是,如果在 link@import上使用协议相关的 URL,IE7和 -8的 bug会让他们下载两次资源——这应该不是什么大问题,但是很难看,应该记住。

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

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