我正在处理使用AJAX请求填充的表单。提交表单后,将显示搜索结果。如果用户点击后退按钮,则AJAX供电表单处于初始状态,只有第一个选择字段。
我添加了history.js,以便记住选择并重新加载它们。不幸的是,当我通过有机访问(在broswer中输入URL)返回页面时,也会发生这种情况。如何检测浏览器的后退按钮是否用于返回搜索表单?
$('document').ready(function() {
History = window.History;
StateData = History.getState().data;
// ... stuff happens
// at this point, there has to be a check so it doesn't execute this code
// for organic visits
for(var field in StateData) {
// this is just a basic example
if( StateData[field] == 'foo' ){
$('#foo').click();
}
// there are more fields here
}
});
答案 0 :(得分:1)
一种方法是使用popstate,例如:
window.addEventListener('popstate', function(event) {
var State = History.getState();
console.log( 'State: ' + State );
});
但是我不相信你的意思是能够专门检测是否按下了“后退”按钮 - 无论后退还是前进按钮(或两者都没有),你的页面都是以同样的方式使用状态信息按压。