今天困扰我的问题是“如何使用 jQuery History 插件捕捉页面刷新”!
从一些代码开始:
function changePage(PageURI){
History.pushState({PageURL:PageURI}, PageURI, "/"+PageURI);
}
// Bind to StateChange Event
History.Adapter.bind(window,'statechange',function(){
var State = History.getState();
dispatchURL(State.data.PageURL);
});
所以一切都在更好的世界里完美运行,我所有的主播都有一个:
onclick="javascript:changePage('New-Page');"
诀窍是,当我刷新页面(F5 或浏览器图标)时,不会触发 History statechange 事件(这是不稳定的原因,因为 URL 不会改变),但这对我的事务不利。
那么使用 History 插件的人能否告诉我他们如何处理页面刷新或告诉我如何通过 History(或仅 jquery)事件捕获页面刷新事件?
谢谢 !
编辑
在等待更好的解决方案时,这里有一个解决方法:
window.onbeforeunload = function() {
History.pushState({PageURL:'#'}, '#', '/#');
}