我有一个设计,可以在 jQuery Mobile webapp 上构建一个启动页面(可能带有加载图标,因此不满足 iOS 的“开始屏幕”)。但是我现在有这个页面处理问题:启动页面之后的页面是一个功能列表。当用户点击一项功能时,它将进入一个特定的功能页面。特定页面没有“返回”按钮,因此用户必须在浏览器上按“返回”按钮才能返回功能列表(然后按“前进”返回特定页面)。功能列表页面不得通过浏览器上的“返回”按钮返回到启动页面。
-------- Auto --------------- User Tap -------------------
| Splash | ------> | Function List | ----------> | Specific Function |
-------- --------------- -------------------
^ | ^ ^
|xxxxxxxxxxxxxxxxxxxxx| |________________________________|
CAN NOT BACK Back & Forward Button of Browser
这是我尝试过的:
- 首先,如果我通常使用空白散列作为初始页,另外 2 个散列用于其他 2 个页面,则 lish 页面启用了“返回”按钮,用户可以点击它返回到初始页面。
- 如果我使用
changeHash: false
从启动到列表,当用户按列表上的“后退”按钮时,它将返回启动页面而不是列表页面。 - 如果我
$('#splash-page').remove()
在显示列表页面时使用,当用户按下列表上的“返回”按钮时,系统将重新生成启动页面,并且它也会返回启动页面而不是列表页面。 - 如果我
hashListeningEnabled = false
在 mobileinit 上使用并在显示列表时将其更改为 true,则它不起作用。配置设置只能在 mobileinit 上启用。 - 一种可能的解决方案是使用
location.replace('#page-list')
方法。但它不能设置从启动到列表的过渡。设置defaultPageTransition
会有所帮助,但我需要另一个默认转换,将defaultPageTransition
面设置为一个特定的转换,而代码中的其他转换需要大量工作。defaultPageTransition
从尝试 4 开始只能设置一次。
所以我需要一个没有尝试 5 之类的技巧的解决方案。感谢您阅读到这里。
另外,我的android 2.3 设备不支持location.replace
,即使更改location.hash
也无法被jQuery Mobile 监听。