当检查实时邮件URL时,我发现他们使用#
而不是Query string
。使用哈希(#)而不是查询字符串有没有任何优势
https://bluxxx.mail.live.com/#n=xxxxxxxxx&fid=x
当#
被删除它是一个404错误。有没有使用#代替查询字符串的优势。它可以在PHP应用程序中实现。
当检查实时邮件URL时,我发现他们使用#
而不是Query string
。使用哈希(#)而不是查询字符串有没有任何优势
https://bluxxx.mail.live.com/#n=xxxxxxxxx&fid=x
当#
被删除它是一个404错误。有没有使用#代替查询字符串的优势。它可以在PHP应用程序中实现。
哈希URL常常被用来代替实际返回到另一个页面的服务器(也就是说,页面加载被Javascript拦截)。
散列和任何之后通常不向服务器发送...
想象以下场景......
<a id="SomeLink" href="#DoSomething">
你再附上一个onclick使用JavaScript ...
$("#SomeLink").click(function() {...})
如果该点击功能不是return false
,则即使对服务器的请求没有b,网址在其末尾也会有一个#DoSomething
een提出。
它也可以用作操作历史记录的占位符,因此您可以更好地控制后退/前进按钮(或许多其他客户端javscript技巧)。以history.js为例。
感谢您的信息,非常有帮助。 @basic –
URL的哈希部分主要用于客户端处理。你的javascript可以读取它,如果你的页面上有一个指定的锚点,它将滚动到该内容。浏览器在加载带有散列的URL时不会将URL的散列部分发送到服务器,因为查询字符串被发送到浏览器,因此可被PHP访问。
谢谢。 @@穆奈姆 –
是不是只是页面上某个元素的class属性。例如,如果在页面底部定位div class =“xx”,则可以触发site.com/#xx指向该div。所以这只是客户端 –
谢谢。 @ royal-bg –