changePage 后 jQuery Mobile 刷新页面

Posted

技术标签:

【中文标题】changePage 后 jQuery Mobile 刷新页面【英文标题】:jQuery Mobile refresh page after changePage 【发布时间】:2012-05-22 04:35:41 【问题描述】:

一旦changePage完成,是否有强制jQm页面重新加载?

我有许多页面动态加载到一个数组中。所有正在加载的页面都是列表的一部分,例如“2011 年的 20 个移动应用程序”。用户需要能够左右滑动来浏览页面。

我在此处添加了当前代码:http://jsfiddle.net/cncpts/qMe6Z/2/

注意 URL 是如何从数组中提取出来的。从此我可以提取下一个 URL 和上一个 URL,但我只能向前和向后导航一页。

您可以通过单击然后向左或向右滑动鼠标来测试页面:http://www.cncpts.me/complex/swipe/index.php

关于如何在保持原生 JQM 转换的同时刷新 URL 的任何想法。

【问题讨论】:

您的意思是要在第二次查看页面时刷新页面?还是您的意思是您要刷新的页面当前没有被查看? 我想我不需要更改浏览器的 URL,我已经在使用 html5 历史 API 进行此操作。我需要更新下一个和上一个的 URL。如果您进入 index2.php,然后向左滑动,您将获得 index3.php,然后尝试向后滑动您应该获得 index2,但您会获得 index.php。所以它存储的是原始页面值,而不是新值。 【参考方案1】:

为什么不使用JQM pagaintion plugin?应该正是您正在寻找的。​​p>

如果您想更改 URL,您必须将 changehash 选项设置为 true 才能更改

 $.mobile.changePage(next,
      changeHash:true,
      reloadPage:true,
      dataUrl:next
      );

这是demo的链接

【讨论】:

如果我想使用分页插件,如何在滑动时启动分页?文档没有明确说明如何使用任何选项。 另外,changeHash 仅在我正确实现单个页面时才有效?我需要将 URL 从 index1.php 更改为 index2.php。当您启用散列时,您会得到这个 index1.php#index2.php,它不会让我在任何地方。也许我做错了什么。 不明白你的意思。如果您查看分页演示(上面的链接),在桌面上您需要单击左/右进行更改,而在启用触摸的设备上您只需向左/向右滑动即可触发更改页面。该插件使用单独的页面 (1/2/3/4.html),并且 URL 也已更新。要设置它,您只需要添加插件和分页触发器(链接到您的 index2 和 index3 页面),其余部分由分页完成。 这个插件非常适合基本页面,但是一旦我从数组中加载 URL,我只能浏览一个页面。 另外,URL 是散列的。

以上是关于changePage 后 jQuery Mobile 刷新页面的主要内容,如果未能解决你的问题,请参考以下文章

jQuery-Mobile:ajax请求在changePage失败后停止工作

如何使用 Backbone.js 在 changePage 后显示 JQuery Mobile 主页面

jQuery Mobile中jQuery.mobile.changePage方法使用详解

Jquery - $.mobile.changePage 不工作

changePage 后的 JQuery innerHTML 不起作用

jquery mobile changepage的三种传参方法介绍