11

可能重复:
在 <script src=“...”> 中用 // 替换是否有效?
省略协议(方案)以保留当前页面之一的绝对 URL
是否在 JavaScript 中使用 //www.example.com 会自动选择 http/https 协议

我正在查看来自 facebook 的一些示例代码,我看到:

<script src="//connect.facebook.net/en_US/all.js"></script>

他们使用//而不是http://——这是我还不知道的奇特东西吗?

4

3 回答 3

18

它被称为“协议相对 URL”。与以“/”开头的 url 相对于当前域的根目录的方式类似,以“//”开头的 URL 将链接到指定的主机和路径,但使用当前页面加载时使用的任何协议。

Wikimedia 博客上对它们进行了很好的描述,以及它们为何有用:

http://blog.wikimedia.org/2011/07/19/protocol-relative-urls-enabled-on-test-wikipedia-org/

于 2011-10-07T22:56:27.250 回答
2

基本上,它使您能够吐出一个 URL 并让它使用当前正在使用的任何协议。

无论用户是使用 HTTP 还是 HTTPS,Facebook 都可能使用相同的 HTML 代码。这是一种在不指定协议的情况下完全限定域的方法。

于 2011-10-07T22:55:26.107 回答
0

这是另一种类型的相对 URL,它使用与页面所在的协议相同的协议。

于 2011-10-07T22:58:32.817 回答