他们这样做是因为这是一个
在这个bit.ly书签中,我看到他们正在使用url编码
<a title="✚ Bitlink" href="javascript:(function()%20%7B%20var%20s%20=%20document.createElement(%22script%22);%20s.setAttribute(%22id%22,%20%22bitmark_js%22);%20s.setAttribute(%22type%22,%20%22text/javascript%22);%20s.setAttribute(%22src%22,%20%22//bitly.com/a/bitmarklet.js%22);%20(top.document.body%20%7C%7C%20top.document.getElementsByTagName(%22head%22)[0]).appendChild(s);%20%7D)();" id="bitmarklet">✚ Bitlink</a></p>
然而,由于它实际上是JavaScript,不会由URL代理处理,我不明白他们为什么选择这种编码。
通常,href会有一个GET请求,该请求需要url编码,但在这种情况下不需要。
为什么会这样?
a
标记。单击后,浏览器的URL解析器将解析href
。任何被解析为URL的东西都需要进行URL编码。在这种情况下,它实际上只是JavaScript,浏览器会这样执行它,但解析器仍然需要一个URL编码的字符串来避免阻塞它。