Javascript 使用具有历史记录的“后退”按钮后关闭SimpleModel
我正在使用和。我有以下代码:Javascript 使用具有历史记录的“后退”按钮后关闭SimpleModel,javascript,jquery,simplemodal,history.js,Javascript,Jquery,Simplemodal,History.js,我正在使用和。我有以下代码: jQuery(function() { var History = window.History; History.Adapter.bind(window,'statechange',function(){ var State = History.getState(); History.log(State.data, State.title, State.url); }); ('body').delegate('a',
jQuery(function() {
var History = window.History;
History.Adapter.bind(window,'statechange',function(){
var State = History.getState();
History.log(State.data, State.title, State.url);
});
('body').delegate('a', 'click', function () {
$.modal("<div><h1>Test</h1></div>", {
close: true,
opacity: 70,
onShow: function (){
History.pushState({state:1}, "State 1", "?state=1");
},
onClose: function (){
History.back();
$.modal.close();
}
});
});
});
jQuery(函数(){
var历史=window.History;
bind(窗口,'statechange',函数(){
var State=History.getState();
日志(State.data、State.title、State.url);
});
('body')。委托('a','click',函数(){
$.modal(“测试”{
接近:是的,
透明度:70,
onShow:function(){
pushState({state:1},“state 1”,“state=1”);
},
onClose:function(){
历史。返回();
$.modal.close();
}
});
});
});
现在,如果您单击链接并显示模式,它会像应该的那样更改状态。如果关闭模态,它也可以正常工作
唯一不起作用的是,如果打开模式,然后使用浏览器的“后退”按钮,它会更改状态,但模式不会关闭。如果SimpleModel处于打开状态且单击了“上一步”按钮,如何使其关闭?请尝试以下操作:
$(window).bind("beforeunload", function() {
$.modal.close();
});
或者使用“window.onstatechange”History.js事件。谢谢您的回答。如果我把它放在
窗口.onstatechange
事件中,它会破坏模式并给我错误未捕获类型错误:无法调用未定义的的方法'focus'。然后尝试:$(window).on('unload',function(){$.modal.close();});它没有给出错误,但是和以前一样的问题?