Javascript 无法在history.js数据中包含函数
我有一个单页webapp,我正在尝试添加history.js支持。现在,无论用户在哪个屏幕上,URL都保持不变。我的计划是使用Javascript 无法在history.js数据中包含函数,javascript,history.js,Javascript,History.js,我有一个单页webapp,我正在尝试添加history.js支持。现在,无论用户在哪个屏幕上,URL都保持不变。我的计划是使用History.pushState()来更改URL,并包含一个函数,当执行该函数时,可以将应用程序从任何位置导航到新屏幕。以下是我所拥有的: History.Adapter.bind(window, 'statechange', function() { var State = History.getState(); console.log(State); S
History.pushState()
来更改URL,并包含一个函数,当执行该函数时,可以将应用程序从任何位置导航到新屏幕。以下是我所拥有的:
History.Adapter.bind(window, 'statechange', function() {
var State = History.getState();
console.log(State);
State.data.navigate();
History.log('statechange:', State.data, State.title, State.url);
});
// later
History.pushState({page: 'page1', navigate: function() {
navigateToPage1();
}}, 'Page 1', '?page1');
问题是,当我在
statechange
事件处理程序中检索data
对象时,添加到该对象的任何函数都会消失。是否有一个解决方法可以使用,或者我必须有一个巨大的开关(State.data.page)
语句?我最终重新构建了应用程序以支持history.js。从长远来看,这将是一个更易于维护的选择