我在CSS中使用了一个树形视图,当用户点击树视图上的文件夹时,我想更新地址栏中的URL,而不会导致服务器往返。
HTML看起来有点像这样: -
<ol>
<li>
<a href="www.example.com/blah?id=12345">Folder</a>
<ol>
<li>Child</li>
</ol
</li>
<ol>
CSS我已经处理了文件夹的扩展,但是我想更新地址栏的URL,这样我就可以深层链接到特定的文件夹,但是从代码的角度来看,没有必要去往服务器 有没有办法实现这个?我有一种感觉,这可能是不可能的,因为潜在的网络钓鱼?
我正在使用HTML5,CSS2 / 3,jquery和ASP.NET MVC3
答案 0 :(得分:5)
HTML5添加了一个历史记录API,允许您在现代浏览器中使用history.pushState()
来更新网址。出于安全原因,您被限制在同一个域中。
在IE10之前,IE不支持此功能。 Firefox,Safari,Opera和Chrome都实现了它。
答案 1 :(得分:4)
可以使用HTML 5历史记录API,就像在gawker网站和github上一样。但条件是两个页面都来自同一台服务器。就像你可以改变地址:
http://www.exemple.com/page1.html
为:
http://www.exemple.com/page2.html
使用history.replaceState
功能。它并未在所有浏览器(caniuse)中得到广泛支持。你最好的选择是使用history.js