脚本和链接标签的简写 http:// 为 // ?有人以前看过/用过这个吗?

发布于 2024-11-17 06:38:46 字数 583 浏览 2 评论 0原文

问题如下:

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

一旦您浮动在 addthis 按钮上,并且加载所有必需的资源,请使用 firebug 查看文档的正文或 chrome 检查器(不是源,而是屏幕上的实际文档......对象检查器)。你会注意到 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 协议的方法的跨浏览器兼容性如何?

是的,我知道这会破坏爬虫/搜索引擎优化方面的东西,但我正在考虑开始在机器人无法访问的情况下使用它(主要是 js 处理的东西)。

好主意还是坏主意?

the question is as follows:

if you take a look at any site using addthis (the share button)...

once you float over the addthis button, and all of the required assets load take a look at the body of the document using firebug or chrome inspector (not the source, the actual document that is sitting on your screen... the object inspector). you will notice that the additional assets loaded automatically by addthis look something like this:

<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">

what is this short handing of http:// in the above tags?

has anyone used this before? does it have an 'official' name? how cross browser compatible is this method of short handing the http protocal?

yes, i understand this will break things as far as crawlers / seo go, but i am thinking about starting to use this in situations that are inaccessible (mainly, js handled stuff) to bots.

good or bad idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦纸 2024-11-24 06:38:46

// 开头的 URL 意味着“使用不同的服务器,但保持相同的方案”

因此,如果您从 https://加载 //example.net/script /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”

Starting a URL with // means "Use a different server but keep the same scheme"

So if you load //example.net/script from https://example.com/ it will get https://example.net/script, while if you load it from http://example.com/ it will get http://example.net/script.

If, on the other hand, you load it from file://c:/Users/You/Documents/test.html then it will probably not resolve to anything useful. Make sure you do development with a local web server (and access http://localhost/) if you use this syntax.

This is a standard part of URIs, it well supported, and is usually known as "scheme relative URIs"

本宫微胖 2024-11-24 06:38:46

Quentin 的回答,这些网址通常称为 无协议 URL(尽管,正如尼克在评论中指出的那样,正确的名称是无方案)。

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

To build upon Quentin's answer, these URLs are commonly called protocol-less URLs (although, as Nick points out in the comments, the proper name is scheme-less).

Also, be wary of the case where you use them in local development (i.e. linking to jQuery from an HTML page that you load from your hard disk, through the file:// protocol). In such scenarios, all outbound links will be treated as local ones - //jquery.com/ will refer to file://jquery.com/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文