即时通讯使用History.js( 点击我的代码中)与jQuery。
当通过AJAX加载新的内容,我使用:
History.pushState({my:stateobject},"newtitle","supernewurl");
这似乎工作,因为URL在浏览器更新。
不过,我不明白这一点,其中,每当按下后退或前进按钮,我可以连接我的代码。 哪种方法/用于这个事件?
即时通讯使用History.js( 点击我的代码中)与jQuery。
当通过AJAX加载新的内容,我使用:
History.pushState({my:stateobject},"newtitle","supernewurl");
这似乎工作,因为URL在浏览器更新。
不过,我不明白这一点,其中,每当按下后退或前进按钮,我可以连接我的代码。 哪种方法/用于这个事件?
您需要一个事件处理程序绑定到statechange
事件,如下所示:
$(window).bind('statechange',function(){
// Do something, inspect History.getState() to decide what
})
有附带History.js一个完整的JavaScript代码,它可以用来“ajaxify”完全网站: https://github.com/browserstate/ajaxify
看看有没有更多的灵感。
你不会捕捉后单击事件 ,因为是没有的。
你想要做的就是确保history
对象是在正确的状态,通过使用window.history.pushState
, window.history.popState
, window.history.replaceState
方法。
https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
我能够使用“onPopState”事件来触发我的自定义Ajax代码。
window.onpopstate = function(event) {
$(fellowModal).foundation('reveal', 'close');
};
我尝试了其他几件事情,这是对我工作。