我一直在我的 HTML5 浏览器和 IE8/9 上成功使用 History.js,但是即使我使用的是 html4+html5 jQuery 版本,它在 ie6/ie7 中也不起作用。
使用以下代码,当我从主页单击普通链接时,我希望 state.data 能够恢复,然后单击后退按钮返回主页。
主页包含以下代码,通过提交表单调用:
if (window.History && window.History.enabled) {
var vars = {};
var tables = {};
vars['something'] = 'value';
History.replaceState({vars: vars, tables: tables}, null, window.location.href.match(/^([^#]*)/)[1]);
}
此页面有一个 onload 函数,如下所示:
var state = History.getState();
var data = state.data;
if (data.vars) {
alert('success!');
}
它在 IE6/IE7 下没有显示成功,尽管它在我尝试过的任何其他浏览器上都可以正常工作。
您是否看到任何明显缺失的内容,或者对如何进行有想法?我尝试调试 history.html4.js 和 history.js 的非缩小版本,但我不了解交互的微妙之处。
谢谢你尽你所能的帮助。