我遇到以下情况的问题.
>用户访问网站
>用户点击链接,使用history.pushState来更新网址
>通过ajax加载的部分页面内容(使用jQuery)
>用户点击常规链接加载新页面
>用户点击返回以返回到pushState条目
>该页面现在只显示通过ajax检索的页面partial
我使用pushState为各种各样的东西做了一个网站,结果是一个令人震惊的响应网络应用程序,但这个问题阻止我使用这个.
以下是代码示例:
$('a').live('click',function(){ history.pushState({},'',this.href); popstate(this.href); return false; }); popstate = function(url){ $('#content').load(url); } window.onpopstate = function(event){ popstate(window.location.href); event.preventDefault(); }
笔记:
>当在window.onpopstate函数中放置警报时,似乎在步骤5中没有触发该事件.这是一个错误?
>问题只发生在使用ajax时.
>我不得不分开popstate函数,所以我可以在pushState后调用它.有没有办法手动触发window.onpopstate事件?