在IOS9的Cordova应用上使用jQuery / Javascript的window.history问题
IOS9(testing版)下的Cordova应用程序遇到问题。 我正在使用最新的Cordova和JQuery移动版本。 window.history没有得到更新,这是导致以下故障:
- window.history.go(-1)无法返回页面
- 即使您浏览了三页深度,window.history.length仍为1
- 在jQuery中标记为data-rel =“back”的链接在按下时无法返回
我已经把下面的示例代码放在一起,这个示例代码在IOS9(beta)下作为单独的Cordova应用程序运行时失败,但是如果从IOS9(testing版)浏览器(下面的链接)运行它,则工作正常。 事实上,它从移动浏览器运行,而不是作为一个应用程序导致我相信这可能是一个cordova问题。
在样本中 – 有三页。 从主页 – >选项 – > HopOpts导航,然后点击取消button应该带我们回页面,但不在cordova应用程序。 我已经单独尝试将一个button处理程序附加到该button,并确认window.history深度为1(应为3),并且window.history.go(-1)无法移回。
示例HTML文件在这里: http : //home.jejaju.com/BeerSmith2.html
要在Cordova下运行它作为应用程序,您需要删除顶部附近的“Cordova.js”行附近的注释块。 正如我上面指出的那样,它可以在浏览器中正常工作,即使在IOS9浏览器中,取消button也不会作为独立的cordova应用程序出现。
所以问题是没有人有线索为什么window.history不更新和反向链接不能正常工作这个简单的cordova应用程序和IOS9(testing版)? 在两个testing案例中唯一改变的是Cordova.js。
我看到这是几个星期前,但我会张贴,以防其他人遇到它。 这听起来像是它可能与由iOS 9中的哈希更改生成的导航事件有关。如果是这样,您可以将其添加到您的index.html以禁用哈希监听:
(需要在这里显示的jquery.js和jquery.mobile-1.4.5.js之间)
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script> <script type="text/javascript"> $(document).bind("mobileinit", function(){ $.mobile.hashListeningEnabled = false; }); </script> <script type="text/javascript" charset="utf-8" src="js/jquery.mobile-1.4.5.js"></script>
- PhoneRTC 64位支持?
- 在Phonegap 2.5中加载外部URL时出错
- 发送并阅读通过本地短信应用程序cordova发送的短信内容
- 使用cordova不改变自定义图标的应用程序图标
- 由cordova 3.4.1-0.1.0创build的xcode项目中的www文件夹不正确
- (Cordova)Xcode 5.1错误Apple Mach-O链接器错误libCordova.a文件未find
- cordova ios resolveLocalFileSystemURL ENCODING_ERR在cordova.file.applicationDirectory
- 如何在使用Phonegap和iOS 5.1时停止删除HTML 5数据库
- 使用UIWebView(PhoneGap)在iOS 6.1应用程序中是否会损坏HTML5 <video>标签?