有问题的网站是新发布的http://mry.com/。我完全被难住了。即使使用前进和后退箭头,页面转换也可以工作,并且似乎标题图像和导航只加载一次,即使它看起来像标准站点结构中的 URL 更改。我认为这可能是一个异步 ajax 加载,但是没有 hashbangs 是如何实现的呢?任何见解将不胜感激。
问问题
387 次
1 回答
1
HTML5 历史 API
您可以使用HTML5 History API。
history.pushState()
调用
pushState()
与设置类似window.location = "#foo"
,两者都将创建和激活与当前文档关联的另一个历史条目。但是,pushState()还有其他一些优点。
窗口.popState
每次活动历史条目更改时,都会向窗口发送一个popState事件。如果被激活的历史条目是由
pushState()
调用 replaceState 创建或受其影响,则 popstate 事件的 state 属性包含历史条目状态对象的副本。
浏览器兼容性
您可以在此处找到有关 HTML5 History API 状态的贡献 wiki 。
填充物和其他
pjax和History.js似乎是一个很好的选择。
GitHub Tree Slider帖子是一篇不错的快速阅读文章。
于 2012-06-19T17:35:34.730 回答