Firefox后退按钮未按预期工作:显示javascript而不是html
我正在使用History.js使我的ajax页面成为可书签页面,并获得预期的后退/前进浏览器按钮体验。在Safari中,一切都很好,但在Firefox 6中,如果我离开我的站点,然后使用hte back按钮返回,我会得到javascript而不是页面:Firefox后退按钮未按预期工作:显示javascript而不是html,javascript,firefox,browser-history,history.js,Javascript,Firefox,Browser History,History.js,我正在使用History.js使我的ajax页面成为可书签页面,并获得预期的后退/前进浏览器按钮体验。在Safari中,一切都很好,但在Firefox 6中,如果我离开我的站点,然后使用hte back按钮返回,我会得到javascript而不是页面: 访问mysite.com/user/1/post_board 点击post filter,地址更改为mysite.com/user/1/post_board?filter=1 在地址栏中输入google.com 按后退按钮 我看到在第2步加载了j
// Bind to StateChange Event
History.Adapter.bind(window,'statechange',function(e)
{
var state = History.getState();
eval(state.data.function_rest + "("+JSON.stringify(state)+");");
History.log(state);
});
$('.message_filter').bind('click', function()
{
History.pushState({"function_rest":"restore_post_board_widget"}, document.title, this.href);
return false
});
function restore_post_board_widget(state)
{
$.getScript(state.url);
}
谢谢您的帮助。只需添加:
window.onunload=函数(){}
这就是我得到答案的地方:
:/url
mysite.com/user/1/post\u board?filter=one
是否总是返回HTML?或者它有时会返回JavaScript?@Shef:我愿意接受关于如何处理历史管理的建议。使用eval允许相当大的灵活性,但我对Javascript完全是新手:这是解决问题的最糟糕的解决方案,它会降低浏览器性能。请参阅其他选项。感谢您指出这一点,但即使在阅读了您指出的问题后,我也看不到任何其他选项。你能给我指一下正确的方向吗?谢谢