jquery mobile与曾经显示的启动页面

时间:2013-05-17 05:56:35

标签: jquery-mobile

我有一个设计,在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. 如果我在mobileinit上使用hashListeningEnabled = false并在显示列表时将其更改为true,则它不起作用。配置设置可能仅在mobileinit上启用。
  5. 一种可能的解决方案是使用location.replace('#page-list')方法。但它无法设置从splash到list的转换。设置defaultPageTransition会有所帮助,但我还需要另一个默认转换,将defaultPageTransition面设置为一个特定的转换,代码中的其他转换需要大量工作。 defaultPageTransition只能在尝试4中设置一次。
  6. 所以我需要一个没有像尝试5这样的黑客攻击的解决方案。 谢谢你在这里阅读。


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

0 个答案:

没有答案