当从Cordova应用程序访问外部页面,然后使用后退按钮返回应用程序时,应用程序页面为空,或者更确切地说,动态添加到页面的所有内容都消失了。
这似乎是链接是本机<a href="...">
还是通过window.open()
或cordova.InAppBrowser.open()
访问的情况。它不会发生的唯一方法是通过&#34; _system&#34;指定实际的浏览器。参数。
有没有办法防止这种情况,还是正常行为?我应该在返回时简单地重建动态页面吗?我可以做到这一点,但回复时似乎没有事件被触发,甚至不是pageshow
。
答案 0 :(得分:1)
导航回刷新(重新加载)页面...因此动态添加到页面的任何内容都将正确消失。您可以在URL上使用哈希标记来获取简单信息,也可以在localStorage中使用有关页面状态的更复杂信息,并在重新加载时根据页面重新填充页面。
由于在JS代码中做出了一些假设,页面显示最不喜欢触发。尝试听$(document).ready进行调试。它也可能是由此处描述的问题引起的(因为缓存):'pageshow' is not received when pressing "back" button on Safari on *IPad"
指定系统会导致页面在新窗口中打开...所以