JQUERY 缓存如果发布到表单后后退按钮 - JQUERY fadeIn 仍然可见

标签 jquery caching browser-cache back-button

我在 JQUERY fadeIn 的末尾发布一个表单。

  • 当用户点击提交时 - 一个 DIV“SWITCHING_SCREENS” - 带有 其中的消息通过 JQUERY 淡入并覆盖表单页面。
  • 一旦 div 完全淡入 - javascript 就会将表单发布到 另一页。

Javascript:

    Theform = document.getElementById('customers_form');

    $('#SWITCHING_SCREENS').fadeIn('slow', function(){
        Theform.submit();
    });

这一切运行良好,我在提交或其他方面没有任何问题。 但是,一旦用户点击浏览器后退按钮 (firefox),SWITCHING_SCREENS 仍然可见。

我已经看到表单元素的后退按钮缓存 - 但希望 JQUERY 在后退按钮上重置。或者我只是没想到它会缓存。

  • 好像已经缓存了?
  • JQUERY 是否缓存了 DIV 的此状态?

我已经尝试过:

Javascript:

Theform = document.getElementById('customers_form');

$('#SWITCHING_SCREENS').fadeIn('slow', function(){
    Theform.submit();
    $('#SWITCHING_SCREENS').hide();
});

这确实修复了使用浏览器后退按钮时 DIV 处于“淡入”状态的缓存...

但它也会在页面实际切换到发布页面之前删除 DIV。我希望 div 在页面发布到下一页时保持可见 - 并且在访问者点击后退按钮时消失。

这似乎只发生在 Firefox 中。

谢谢。 问候。

最佳答案

您可以使用.unload()它不会专门拦截后退按钮,而是拦截卸载当前页面的任何事件。它可以是任何点击链接前进按钮后退按钮,具体取决于浏览器。

$(window).unload( function () { $('#SWITCHING_SCREENS').hide(); });

The unload event is sent to the window element when the user navigates away from the page. This could mean one of many things. The user could have clicked on a link to leave the page, or typed in a new URL in the address bar. The forward and back buttons will trigger the event. Closing the browser window will cause the event to be triggered. Even a page reload will first create an unload event.

关于JQUERY 缓存如果发布到表单后后退按钮 - JQUERY fadeIn 仍然可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16886496/

相关文章:

rest - 从 SOAP UI 进行 REST API 调用时如何禁用缓存?

c# - 在方法调用之间缓存了哪些(如果有的话)本地定义的委托(delegate)?

javascript - Jquery - 如果元素包含一个类,在元素之后添加 HTML

jquery - 如何设置jquery所见即所得更改事件?

javascript - JQuery 异步回发问题,我该如何解决?

javascript - 浏览器是否在每个页面加载时解析 javascript?

asp.net-mvc - 浏览器重启后不缓存资源

javascript - jquery 预选择 WordPress 网站中的选择选项下拉菜单

android - android可以在我的应用程序运行时从我的应用程序的缓存目录中清除文件吗?

jsf - p :graphicImage which can show images from byte[] and control browser cache 的替代方案