javascript - 按下后退按钮时 Firefox 会记住文档修改

标签 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();
    });
});

最佳答案

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

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

关于javascript - 按下后退按钮时 Firefox 会记住文档修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10770318/

相关文章:

javascript - 使用 Booklet Jquery 插件,如何验证最后一页是否已显示?

html - Chrome 和 Firefox 中的间距不同

javascript - Canvas 动画图像旋转

javascript - 搜索包含行的 HTML 表格

javascript - 如何处理Node.js中未处理的异常

jquery - 如何扩展 jQuery 的 $.ajax 以支持新的内容类型?

javascript - FireBug 的 console.log() 和 console.debug() 有什么区别?

javascript - 阻止特定脚本中的特定函数在浏览器内执行

javascript - 如何知道来自 &lt;iframe&gt; 的视频是否正在播放(youtube 和 vimeo)

javascript - setInterval 内函数中的参数未更改