带有phonegap的后退按钮(和查询移动?)
我正在使用jquery mobile和phonegap编写的应用程序出现问题。 在浏览器中进行测试时,我使用后退按钮没有任何问题(没有涉及phonegap js)。 然而,一旦我尝试使用phonegap js的设备,它就会中断。
重现步骤:
- 加载应用
- 访问多个页面(使用#在内部链接)
- 单击后退按钮或从任何地方调用history.back()(使用js控制台,或通过触发调用它的内容)
在浏览器(chrome,firefox等)上,它返回一个’page’(到之前的#link,无论它是什么)。 这是首选行为。
在设备(iPhone 4,iPhone模拟器,Android 2.2(设备),Android 3.2(设备))上,它会转到第一个/登录页面(index.html文件中的第一个“页面”)。
我怀疑问题出在phonegap上。 有没有办法恢复到首选行为或浏览器?
你使用jQuery Mobile的“后退”按钮链接属性吗? 我已经轻松使用它并且它可以工作(到目前为止仅在Android上使用)。 您是否试图覆盖(仅限Android) 后退按钮事件 ? 不推荐,不管你想要什么,而且无论如何都不能在iPhone等上使用。
问题是由我使用的数据url中的空格引起的。 桌面浏览器似乎可以正确处理空间,但移动浏览器会将空间转换为%20%
字符。 jQuery mobile尝试使用空格,但浏览器只会记住更改后的字符。
编辑: jqm页面有一个data-url属性,允许您在一个html文档中存储多个页面。
... ... ...
第一页可以通过几种方式加载……
在一份文件中
或通过JavaScript
$.mobile.changePage("#page-one");
我遇到的问题是带有data-url第二page two
。 在桌面浏览器上维护了空间,jqm中内置的自定义历史记录控件继续按预期运行。 但是在移动浏览器上,空间变成了一个转义空间,jqm历史记录控件无法识别或跟踪。
确保在androidmenifest.xml文件中必须包含android:targetSdkVersion大于android:minSdkVersion