shorthand http:// as // for script and link tags? anyone see / use this before?

五迷三道 提交于 2019-12-27 15:41:31

问题


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?


回答1:


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"




回答2:


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/



来源:https://stackoverflow.com/questions/6503946/shorthand-http-as-for-script-and-link-tags-anyone-see-use-this-before

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!