繁体   English   中英

使用哈希(#)代替查询字符串有什么好处

[英]Using Hash (#) instead of Query string is there any advantage

检查实时邮件URL时,我发现它们使用#代替Query string

https://bluxxx.mail.live.com/#n=xxxxxxxxx&fid=x

删除#后,将出现404错误。 使用#代替查询字符串有什么好处。 可以在php应用程序中实现吗?

通常使用散列的url代替实际返回服务器的另一个页面(即,页面加载被Javascript拦截)。

哈希值及其后的所有内容通常不发送到服务器...

想象以下情况...

<a id="SomeLink" href="#DoSomething">

然后,您可以使用Javascript附加onclick ...

$("#SomeLink").click(function() {...})

如果该click函数未return false ,则即使未向服务器发出请求,该URL的末尾也将带有#DoSomething

它也可以用作处理历史记录的占位符,因此您可以更好地控制“后退” /“前进”按钮(或许多其他客户端javscript技巧)。 请参见history.js作为示例。

URL的哈希部分主要用于客户端处理。 您的javascript可以读取它,并且如果您的页面上有命名锚,它将滚动到该内容。 URL的哈希部分在加载带有哈希的URL时不会被浏览器发送到服务器,在查询字符串被发送到浏览器时,PHP可以访问该字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM