【问题标题】:using // instead of protocol:// [duplicate]使用 // 而不是协议:// [重复]
【发布时间】:2011-12-03 08:42:38
【问题描述】:

可能重复:
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

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

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

他们使用// 而不是http://——这是我还不知道的花哨吗?

【问题讨论】:

  • 我发誓这是一个非常有名的问题的重复,但我知道如果你搜索并找不到原始问题,因为我也找不到。
  • 这篇文章回答了stackoverflow.com/questions/3583103/scheme-relative-urls的问题,但是如果你不知道搜索scheme relative URL,你就找不到它
  • @BoltClock 我知道你所说的确切问题,但我也找不到。
  • @JuanMendes:嗯,输入“javascript”加上这个问题的标题给我带来了to this answer
  • @Ӫ_._Ӫ: 虽然这个问题真的和JS无关...

标签: html url-scheme


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-19
        • 1970-01-01
        • 1970-01-01
        • 2020-12-18
        • 1970-01-01
        • 2014-01-29
        • 2019-02-07
        • 2018-07-15
        相关资源
        最近更新 更多