1

When inspecting the live mail URL i have seen that they use # instead if Query string.

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

When the # is removed it's a 404 error. Is there any advantage of using # instead of query string. Can it be implemented in a php application.

4

2 回答 2

3

哈希 url 通常用于代替实际返回服务器以获取另一个页面(即页面加载被 Javascript 拦截)。

哈希和它之后的任何东西通常不会发送到服务器......

想象一下下面的场景......

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

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

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

如果该 click 函数没有return false,则该 url 现在将#DoSomething在其末尾有一个,即使尚未向服务器发出请求。

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

于 2013-08-06T06:11:41.390 回答
2

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

于 2013-08-06T06:13:25.800 回答