2

提交表单时,我会显示加载动画并禁用按钮。不幸的是,当我单击后退按钮时,Firefox 仍然显示加载图像并且该按钮仍然被禁用。这在 Chrome 中不会发生。有任何想法吗?

$(document).ready(function() {
    $('#go').removeAttr('disabled');
    $('#loading').replaceWith('<img id="loading" src="/static/images/loading.gif" style="display:none; vertical-align:middle" />');

    $('#go').click(function(e) {
        e.preventDefault();
        $('#go').attr('disabled', 'disabled');
        $('#loading').show();
        $('#go_form').submit();
    });
});
4

2 回答 2

5

Firefox 在浏览器会话中对整个网页(包括其 JavaScript 状态)使用内存缓存。在访问的页面之间来回移动不需要页面加载。此功能使页面导航非常快。

为了检测到这一点,请使用pageshow事件。该事件将有一个名为的属性persisted,如果您在缓存中导航,该属性将为真。如果您看到此状态,您可以重置页面的状态。

于 2012-05-26T22:59:19.140 回答
0

这可能是由于 Chrome 和 Firefox 中的缓存机制不同。一个简单的解决方法是在onunload事件中隐藏加载图像。

于 2012-05-26T22:51:32.250 回答