【问题标题】:jquerymobile phonegap back-button get previous statejquerymobile phonegap 后退按钮获取上一个状态
【发布时间】:2012-03-14 20:23:26
【问题描述】:

我正在构建一个小型移动应用程序,但我有一个关于 JQM 的问题。

当用户登录时,用户将被重定向到页面 A。页面 A 使用来自 JQM 的 loadPage 加载(例如:$.mobile.loadPage("pageA.html")

页面加载后,我进行了 AJAX 调用,因为我从数据库中提取了一些数据并更改了页面 A 上的内容。从页面 A,我可以转到页面 B。页面 B 有一个后退按钮。当我单击后退按钮时,应用程序会滑回没有 AJAX 内容的状态。有没有办法解决这个问题?

谢谢

【问题讨论】:

    标签: jquery ajax jquery-mobile cordova


    【解决方案1】:

    默认情况下,一旦用户离开页面,jQuery Mobile 将删除任何通过 AJAX 引入 DOM 的页面。如果您想为特定页面禁用此功能,您可以将data-dom-cache 属性添加到页面的data-role="page 元素并将其设置为true

    <div data-dom-cache="true" data-role="page" id="pageA">
        ...
    </div>
    

    来源:http://jquerymobile.com/demos/1.1.0-rc.1/docs/pages/page-cache.html

    此功能已添加到 jQuery Mobile 以帮助控制 DOM 的大小,从而减少浏览器崩溃的发生。如果您只想在 DOM 中保留一个页面,请确保它不是会导致设备瘫痪的大页面。

    【讨论】:

    • 好的,谢谢。完美运行。我查看了 JQM 文档的每一页,从未见过这个 :) 也许我需要眼镜 ;)
    • @Blynn 是的,这应该适用于 PhoneGap。在PhoneGap 中,您使用webview 在应用程序中显示您的网页。所以大部分相同的基本 DOM 都存在。
    • 是的,在移动应用程序中从 Internet 获取文档是可以的。它被视为普通的 AJAX 请求。由于移动设备上没有源域,因此不存在跨域策略问题。虽然您可能想阅读有关 PhoneGap 应用程序的 jQuery Mobile 文档(位于 Page -> PhoneGap 下)。
    • 10000+++ 你成就了我的一天。救生员。谢谢! :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多