使用缓慢的AJAX向用户显示“loading ...”是一件好事。 现在我有使用'history.pushState'和'hostory.popState'的历史记录 但是在按下后退按钮时执行实际的ajax时,它并没有显示我的加载图像!
$(window).bind("popstate", function() {
$.get(location.href);
//$.getScript(location.href);
});
如何执行$(window).bind("before_popstate", function() {});
BTW我在后台运行Rails ......
PSS
$(document).ready(function(){
$(window).bind("popstate", function() {
$.get(location.href);
});
$('.remote')
.bind("ajax:beforeSend", function(evt, xhr, settings){
$('#mainframe').html("");
$('#loading').toggle();
})
.bind("ajax:success", function(evt, data, status, xhr){
$('#loading').toggle();
})
.bind('ajax:complete', function(evt, xhr, status){
history.pushState(null, document.title, path)
})
.bind("ajax:error", function(evt, xhr, status, error){
$('#mainframe').html("error");
$('#loading').toggle();
});
答案 0 :(得分:0)
怎么样:
$(window).bind("popstate", function() {
your-showAjaxLoader-function()
$.get(location.href);
//$.getScript(location.href);
your-removeAjaxLoader-function()
});
或那种性质的东西。我,我自己,将ajaxLoader-GIF称为历史预处理器,并在通话后或通话中使用ajaxLoader-GIF去除器。
更新: 我看到你正在切换三个绑定上的“加载”,但不是完整的。我,我自己,如果我必须嵌套命令,请特别避免使用切换。在START,你可以使用.show()和其他所有人,.hide()。
现在,回到真正的问题:“装载没有显示”。看起来好像代码一切正常。你确定“< img src”在你的代码中是否正确“加载”?
答案 1 :(得分:0)
还有一件事:你确定加载的z-index及其位置是否正确?我假设您希望加载覆盖任何内容,并且希望是在不透明的背景上。