我的谷歌福拉什么。
当你这样做:
var stateObj = { state: "some state" };
history.pushState(stateObj, "page 2", "other.htm");
是否有相关的窗口回调?
我知道,有这样的:
window.onpopstate = function() {
}
伟大的工程聆听当用户点击后退按钮。 不过,我要听任何时候的URL都改变了,我不知道该怎么做。
是否有在任何时候更改网址的全球性回调?
我的谷歌福拉什么。
当你这样做:
var stateObj = { state: "some state" };
history.pushState(stateObj, "page 2", "other.htm");
是否有相关的窗口回调?
我知道,有这样的:
window.onpopstate = function() {
}
伟大的工程聆听当用户点击后退按钮。 不过,我要听任何时候的URL都改变了,我不知道该怎么做。
是否有在任何时候更改网址的全球性回调?
没有,有没有一个onpushstate
或什么的。 然而,一只小猴子补丁可以解决这个问题:
var pushState = history.pushState;
history.pushState = function () {
pushState.apply(history, arguments);
fireEvents('pushState', arguments); // Some event-handling function
};
使用pushState的时候这只会通知您。 你可能想把做replaceState类似的东西。
如果您需要通知每当URL在所有的变化,上述的一些组合和hashchange处理程序将让你大部分的方式存在。