当从 Cordova 应用程序访问外部页面,然后使用后退按钮返回应用程序时,应用程序页面为空,或者更准确地说,动态添加到页面的所有内容都消失了。
无论该链接是否为原生链接,情况似乎都是如此 <a href="...">
或通过 window.open()
访问,或通过 cordova.InAppBrowser.open()
。不会发生这种情况的唯一方法是通过“_system”参数指定实际浏览器。
有没有办法防止这种情况,或者这是正常行为?我应该在返回时简单地重建动态页面吗?我可以这样做,但返回时似乎没有事件被触发,甚至没有 pageshow
.
最佳答案
向后导航会刷新(重新加载)页面...因此动态添加到页面的任何内容都将正确消失。您可以在 URL 上使用哈希标签来获取简单信息,或者使用 localStorage 来获取有关页面状态的更复杂信息,并在重新加载时基于该信息重新填充页面。
pageshow 最可能不会触发,因为 JS 代码中做了一些假设。尝试监听 $(document).ready 以进行调试。它也可能是由此处描述的问题引起的(由于缓存):'pageshow' is not received when pressing "back" button on Safari on *IPad"
指定系统会导致页面在新窗口中打开...所以这就是
关于javascript - Cordova:从外部链接返回时页面为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33609622/