简写http:// as //用于脚本和链接标签?有人看过/使用过吗?

时间:2011-06-28 08:52:14

标签: javascript html http protocols shorthand

问题如下:

如果您使用addthis(分享按钮)查看任何网站...

一旦你浮动addthis按钮,并且所有必需的资产加载都会使用firebug或chrome inspector(不是源代码,查看屏幕上的实际文档)来查看文档正文...对象检查员)。你会注意到addthis自动加载的附加资产看起来像这样:

<script type="text/javascript" src="//s7.addthis.com/static/r07/menu78.js"></script>
<link rel="stylesheet" type="text/css" href="//s7.addthis.com/static/r07/widget61.css" media="all">

上述标签中http://的简短处理是什么?

以前有人用这个吗?它有'官方'名称吗?如何跨浏览器兼容这种简短处理http协议的方法?

是的,我知道这会破坏抓取器/ seo的东西,但我正在考虑开始在无法访问(主要是js处理的东西)机器人的情况下使用它。

好主意还是坏主意?

2 个答案:

答案 0 :(得分:31)

使用//启动网址意味着“使用其他服务器但保持相同的方案”

因此,如果您从//example.net/script加载https://example.com/,它将获得https://example.net/script,而如果您从http://example.com/加载,则会获得http://example.net/script

另一方面,如果从file://c:/Users/You/Documents/test.html加载它,那么它可能无法解决任何有用的问题。如果使用此语法,请确保使用本地Web服务器进行开发(并访问http://localhost/)。

这是URI的标准部分,它得到了很好的支持,通常被称为“方案相对URI”

答案 1 :(得分:5)

要构建Quentin's answer,这些网址通常称为protocol-less URLs(尽管正如Nick在评论中指出的那样,正确的名称是无方案)。< / p>

另外,请注意在本地开发中使用它们的情况(即从您从硬盘加载的HTML页面通过file://协议链接到jQuery)。在这种情况下,所有出站链接都将被视为本地链接 - //jquery.com/将引用file://jquery.com/