繁体   English   中英

jQuery Mobile多页面模板缓存

[英]jQuery Mobile multi-page template caching

我有一个使用jQuery Mobile构建的应用程序,其中所有页面都在一个HTML文件中。 当我导航到一个页面,填写一个表单,然后离开它,我希望下次我在那个页面上时,我填写的表单数据不在那里。 我的问题是,这是一个缓存问题吗? 如果是这样,我该如何预防呢? 我尝试过这样的事情:

pageContainerElement.page({ domCache: false });

$(document).bind("mobileinit", function(){
    $.mobile.page.prototype.options.domCache = false;
});

但每当我回到页面时,数据仍然存在

您遇到的一切都是jQuery Mobile打算如何工作的。 您已经阅读了有关缓存和预取的文档,但同时您缺少更大的图片,主要是因为您没有阅读所有内容。

使用jQuery时,只有在使用多HTML模板时,缓存才有意义。 让我们来看看你目前的状态。 您正在使用多页面模板,其中每个页面都是单个HTML页面的一部分。 在这种情况下,初始HTML文件完全加载到DOM中,它将保留在那里直到刷新页面或直到您使用rel =“external”打开一些后续HTML文件(这等于完整页面重新启动)。

在任何其他情况下,初始HTML页面将永远保留DOM,并且您无法阻止它。 基本上,如果它们是初始HTML文件的一部分,则无法删除加载到DOM中的页面。 当然你可以强行删除它们,但应用程序将遭受历史导航问题,我不想建议这种情况。

你有两个解决方案:

  1. 将该特定页面移动到其他HTML文件。 在这种情况下,当您从该特定页面转换到其他页面时,它将从DOM中删除。

  2. 在pagebeforechange页面事件期间清除以前的表单数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM