0

所以http://cdnjs.com/和我的一些同行都推荐我们使用//前面的资源。这个术语或技术叫什么?据我了解,目的是这样http或被https保留。但是,当我想在谷歌上说yepnope与它的兼容性时,我该怎么称呼它?

4

1 回答 1

3

它是一个“相对 URL”——在这种情况下,一个没有协议部分的 URL(因此它使用其父文档中的协议),就像/foo.html一个没有协议或服务器名称部分的相对 URL(因此使用协议和服务器其父文档)。

协议相关 URL 的目的是它们可以在文档之间移植(http并且https短一点)。因此,如果您有:

<link rel="stylesheet" href="//cdnjs.cloudflare.com/etc.css">

...在页面上http://example.com,URL 扩展为

http://cdnjs.cloudflare.com/etc.css

...但如果它在页面上https://example.com,它会扩展为

https://cdnjs.cloudflare.com/etc.css

...并且您不会从浏览器中收到“混合的安全和不安全内容”警告。

一个轻微的缺点是,如果您使用直接从文件系统打开的文件进行一些快速而肮脏的本地测试,它们的协议是file:,因此 URL 最终是

文件://cdnjs.cloudflare.com/etc.css

...这可能不是指您计算机上的有效资源(并导致关于 SO 的问题)。

更多关于我的博客:跳过协议

于 2013-03-11T14:45:58.313 回答