一旦用户在 Jquery Mobile 中离开页面,如何恢复默认 HTML 元素?

Posted

技术标签:

【中文标题】一旦用户在 Jquery Mobile 中离开页面,如何恢复默认 HTML 元素?【英文标题】:how to restore a default HTML element once the user leaves a page in Jquery Mobile? 【发布时间】:2012-07-08 17:59:27 【问题描述】:

我有一个带有占位符内容块的页面。页面加载后,我将用一些 AJAX 内容替换默认块,这些内容要么默认加载,要么通过用户交互加载。

我正在像这样替换加载的内容:

// inside AJAX success handler
// data is JSON string sent via AJAX
// target is the element containing my default content

var makeUp = data;

target.addClass('fade out').html( makeUp ).trigger('create')
        .removeClass('fade out').addClass('fade in')

这很好用,每当用户在页面上做某事时,我都可以替换内容。

但是,如果用户离开页面并在页面仍在 DOM 中时返回,我想显示默认内容。现在,最后一个 AJAX 内容是可见的。所以我正在考虑绑定到页面隐藏并从某个地方恢复默认内容。

问题: 在页面上存储默认内容的最佳方式是什么。它并不多(1 个控制组,2 个文本块),但我不愿意将它作为数据默认字符串添加到包装容器中。一定有更好的办法。

谢谢!

【问题讨论】:

【参考方案1】:

根据这个CanIUse 页面,您应该能够使用HTML5 的web storage 功能来存储一些值——我正在专门研究一些可能与您相关的移动浏览器。

这些值可以是一些关键字,它们允许您检索文本块并填充占位符,或者如果它足够小,您可以自己存储和检索两个文本块。

【讨论】:

嗯。好的起点。我喜欢只存储引用并可能基于引用提取一些默认内容的想法。再说一次,为了确保它在非 Web 存储浏览器中工作,我会使用 data 或 jqmData 将此引用放在页面元素上。那么它肯定会在那里。谢谢

以上是关于一旦用户在 Jquery Mobile 中离开页面,如何恢复默认 HTML 元素?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Mobile - 多个弹出窗口问题

jQuery mobile - 当我提交表单时切换页面

jquery mobile上页面更改后swiper分页制动

离开页面后文件上传不应停止

jQuery Mobile:获取通过 changePage 传递给页面的数据

jquery beforeunload 关闭(不离开)页面时?