2

我有一个设计,可以在 jQuery Mobile webapp 上构建一个启动页面(可能带有加载图标,因此不满足 iOS 的“开始屏幕”)。但是我现在有这个页面处理问题:启动页面之后的页面是一个功能列表。当用户点击一项功能时,它将进入一个特定的功能页面。特定页面没有“返回”按钮,因此用户必须在浏览器上按“返回”按钮才能返回功能列表(然后按“前进”返回特定页面)。功能列表页面不得通过浏览器上的“返回”按钮返回到启动页面。

 --------   Auto    ---------------   User Tap    -------------------
| Splash | ------> | Function List | ----------> | Specific Function |
 --------           ---------------               -------------------
    ^                     |  ^                                ^
    |xxxxxxxxxxxxxxxxxxxxx|  |________________________________|
         CAN NOT BACK         Back & Forward Button of Browser

这是我尝试过的:

  1. 首先,如果我通常使用空白散列作为初始页,另外 2 个散列用于其他 2 个页面,则 lish 页面启用了“返回”按钮,用户可以点击它返回到初始页面。
  2. 如果我使用changeHash: false从启动到列表,当用户按列表上的“后退”按钮时,它将返回启动页面而不是列表页面。
  3. 如果我$('#splash-page').remove()在显示列表页面时使用,当用户按下列表上的“返回”按钮时,系统将重新生成启动页面,并且它也会返回启动页面而不是列表页面。
  4. 如果我hashListeningEnabled = false在 mobileinit 上使用并在显示列表时将其更改为 true,则它不起作用。配置设置只能在 mobileinit 上启用。
  5. 一种可能的解决方案是使用location.replace('#page-list')方法。但它不能设置从启动到列表的过渡。设置defaultPageTransition会有所帮助,但我需要另一个默认转换,将defaultPageTransition面设置为一个特定的转换,而代码中的其他转换需要大量工作。defaultPageTransition从尝试 4 开始只能设置一次。

所以我需要一个没有尝试 5 之类的技巧的解决方案。感谢您阅读到这里。


另外,我的android 2.3 设备不支持location.replace,即使更改location.hash也无法被jQuery Mobile 监听。

4

0 回答 0