javascript - Cordova:从外部链接返回时页面为空

标签 javascript cordova browser inappbrowser

当从 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/

相关文章:

tomcat - 如何处理 SSL 证书的浏览器警告

javascript - 下载文件时防止用户交互的正确方法是什么?

javascript - 加载动态 javascript 和 CSS 文件是个坏主意吗?

javascript - 如何开始将 Phonegap Build 与 Durandal SPA 应用程序结合使用?

javascript - 如何测试跨平台应用程序

ios - 我们可以在 native webview 而不是 cordova webview 中加载 index.html 页面吗

javascript - 用户输入 - Javascript 中两个日期的差异

javascript - jQuery - 包装文本元素的特定部分

javascript - 创建自定义指标 - 每个指标对应 slider 中的每 4 个项目

java - 使用 Jersey 在浏览器上显示 JSON