浏览器返回后是否可以执行JavaScript?

时间:2016-12-19 21:53:58

标签: javascript html back

我正在一个提供对遗留数据的Web访问的网站上工作 基本流程是供用户从菜单中选择查询表单,填写表单并提交。服务器生成适当的HTML并将其返回给浏览器。到目前为止,非常好。

某些报告可能需要一些时间才能生成。对于那些报告,我显示了一个"处理"表单提交时的指示符。该指标通常是隐藏的< div>包含动画图标。

当用户使用浏览器的“后退”按钮返回查询表单时,会出现问题。当浏览器使用查询表单重新显示页面时,处理指示器仍然可见。摆脱它的唯一方法似乎是刷新页面。

有没有办法在Back?

之后隐藏它?

2 个答案:

答案 0 :(得分:0)

您可以将JavaScript事件设置为在页面加载后自动删除指标。这样,除非脚本稍后告诉指示器显示,否则指示符不会显示。为了避免永远不显示指标,您可以在自动隐藏指标的事件之后放置显示指标的代码,这些代码都发生在页面加载上。

答案 1 :(得分:0)

我终于有了一个解决方案,在这个应用程序中运行良好。

某些浏览器(如Firefox)会在重新显示页面时触发 document.focus 事件。其他人,比如Safari,会触发 window.popstate 事件。

我现在将这两个事件挂钩,并且99.9%的时间按预期工作。