按下后退按钮时Firefox记住的文档修改

时间:2012-05-26 22:40:36

标签: javascript jquery firefox

提交表单时,我会显示加载动画并禁用该按钮。不幸的是,当我单击后退按钮时,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();
    });
});

2 个答案:

答案 0 :(得分:5)

Firefox在浏览器会话中使用内存缓存来处理整个网页,包括其JavaScript状态。在访问过的页面之间前后移动不需要加载页面。此功能使页面导航速度非常快。

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

答案 1 :(得分:0)

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