使用 // 而不是协议://
可能的重复:
替换为 // 是否有效在
我正在查看 facebook 上的一些示例代码,我发现:
<script src="//connect.facebook.net/en_US/all.js"></script>
他们使用 //
而不是 http://
-- 这是什么东西吗喜欢我还不知道的东西?
Possible Duplicate:
Is it valid to replace with // in a <script src=“…”>?
Absolute URLs omitting the protocol (scheme) in order to preserve the one of the current page
Does using //www.example.com in Javascript chose http/https protocol automatically
I'm looking at some sample code from facebook and I see:
<script src="//connect.facebook.net/en_US/all.js"></script>
they use //
instead of http://
-- is this something fancy that I don't know about yet?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
它称为“协议相关 URL”。类似于以“/”开头的 url 相对于当前域的根的方式,以“//”开头的 URL 将链接到指定的主机和路径,但使用当前页面加载时使用的任何协议。
维基媒体博客上对它们有很好的描述,以及它们为何有用:
http://blog.wikimedia.org/2011/07/19/protocol-relative-urls-enabled-on-test-wikipedia-org/
It's called a "protocol-relative URL". Similar to how a url starting with "/" is relative to the root of the current domain, a URL starting with "//" will link to the specified host and path, but using whatever protocol the current page was loaded using.
There's a nice description of them, and why they're useful, on the Wikimedia blog:
http://blog.wikimedia.org/2011/07/19/protocol-relative-urls-enabled-on-test-wikipedia-org/
基本上,它使您能够输出一个 URL 并让它使用当前正在使用的任何协议。
无论用户使用的是 HTTP 还是 HTTPS,Facebook 都可能使用相同的 HTML 代码。这是一种无需指定协议即可完全限定域的方法。
Basically it gives you the ability to spit out one URL and have it use whatever protocol is currently being used.
Facebook probably uses the same HTML code regardless of whether the user is on HTTP or HTTPS. It's a way to fully qualify the domain without specifying the protocol.
它是另一种类型的相对 URL,它使用与页面所在的相同协议。
It's another type of relative URL, it uses the same protocol that the page is on.