协议相对URL在跨平台上可行吗?

5

我经常使用//相对URI Hack。例如:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>

主要是因为这篇文章:Is it valid to replace http:// with // in a <script src="http://...">?
然而,我在一个项目中与一个人合作,他说这在Mac(Chrome、Firefox和Safari)或iDevices上不起作用。
由于我没有Mac或所说的设备,我无法验证它,在Windows上它运行良好。有人能确认一下吗?

你的想法是错误的。协议相对 URL 是在非常底层定义的,它们不依赖于操作系统。稍等,正在搜索重复内容... - Pekka
@Pekka:谢谢。我喜欢这个技术,尽管我不认为我们会使用HTTPS提供任何东西。 - Peter C
移动版Safari支持协议相对URL的间接证据:http://getsatisfaction.com/viglink/topics/link_broken_in_mobile_safari - Pekka
我知道这个线程已经很老了,而且已经死了,但是对于其他偶然发现这里的人来说,我刚在Mac上测试了一下,相对URI技巧效果不太好。它会在前面加上file://而不是你可能想要的http/https。但在iOS7中它确实有效。 - club_lowlow
1个回答

4

我无法进行测试,因为我没有Mac电脑,但是没有理由相信Mac浏览器在解析URL时不遵循RFC 3986 Section 4.2

你的朋友可能指的是其他事情。


我认为他的意思并不是别的,因为他说:“我们正在执行最佳实践,从现在开始对于任何不托管在我们网站上的内容都使用完整的URL路径。”我无法反驳这一点,因为这是一个由两个人组成的项目,而他是领导者... - Peter C
@alpha 你问过他为什么吗? - Pekka
嗯,大概是因为它在Mac浏览器和移动Safari上不起作用(对他来说)。无论如何,由于我相当确定我们不会通过HTTPS提供任何内容,所以我将只使用http:前缀,但是为了将来的参考,知道这是否确实是情况会很好。看起来似乎不是这样。谢谢。 - Peter C
@alpha 没问题。如果你的同事就这个问题提出了实质性的意见,请在此处留言 - 但从我所看到的,似乎没有什么问题。 - Pekka

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