小编典典

动态加载内容然后前进和后退时Internet Explorer和Firefox的区别

ajax

我正在开发一个Web应用程序,由于数据库访问速度慢,并非页面中的所有内容都立即加载,而是当用户在有选择地进行选择后单击按钮时动态加载。

这很好。但是,在动态加载内容之后,如果我导航到另一个网页,然后又导航回去,则在Internet
Explorer中,加载的内容将消失,即该页面将还原为原始检索的页面。但是,在Firefox(以及Opera)中,加载的内容仍将存在,即,页面看起来就像在我离开它之前一样。

在我的情况下,Firefox的行为是理想的行为,因为用户会常规地导航到子页面并返回主页。因此,我的问题是,是否有任何方法可以强制Internet
Explorer展示此行为,或者有任何可能的解决方法来获得所需的结果?


阅读 271

收藏
2020-07-26

共1个答案

小编典典

这是我针对IE的解决方法。它利用以下事实:即使在导航离开并返回到页面时重置DOM,仍会记住输入字段值。

对于每个动态加载的元素,我还具有一个隐藏的输入字段,可在其中“缓存”已加载的值。然后,我有一个函数transferFromCache(),它将值从每个隐藏的输入字段复制到相应的元素。此功能在页面初始化时运行-
在IE的情况下,该功能是在页面加载时执行的,并且每次浏览回到页面时都会执行。

该技术也可能用于存储javascript变量的值。

2020-07-26