【发布时间】:2025-12-29 03:05:06
【问题描述】:
我在使用 IOS9(测试版)下的 Cordova 应用程序时遇到问题。我正在使用最新的 Cordova 和 JQuery 移动版本。 window.history 没有得到更新,导致以下故障:
- window.history.go(-1) 无法返回页面
- window.history.length 停留在 1,即使您浏览三页深度也是如此
- 在 jQuery 中标记为 data-rel="back" 的链接在按下时无法返回
我整理了以下示例代码,当在 IOS9(beta) 下作为单独的 Cordova 应用程序运行时会失败,但如果您从 IOS9(beta) 浏览器运行它则可以正常运行(下面的链接)。它从移动浏览器运行但不是作为应用程序运行的事实让我相信这可能是 Cordova 问题。
在示例中 - 有三个页面。从 Home->Options->HopOpts 导航,然后点击取消按钮应该会让我们返回一个页面,但不会在 cordova 应用程序中。我已经分别尝试将按钮处理程序附加到该按钮并确认 window.history 的深度为 1(应该为 3)并且 window.history.go(-1) 无法向后移动。
示例 HTML 文件在这里:http://home.jejaju.com/BeerSmith2.html
要将其作为应用程序在 Cordova 下运行,您需要删除顶部附近“Cordova.js”行周围的注释块。正如我在上面指出的,它在浏览器中可以正常工作,即使在 IOS9 浏览器上也是如此,但作为独立的 cordova 应用程序,取消按钮会失败。
所以问题是有没有人知道为什么 window.history 没有更新并且反向链接对于这个简单的 Cordova 应用程序和 IOS9(beta) 不能正常工作?两个测试用例中唯一改变的是 Cordova.js。
【问题讨论】:
-
您似乎遇到了此处跟踪的问题:github.com/jquery/jquery-mobile/issues/8293 尝试将您的设备更新到 iOS 9.2(几天前刚刚发布)。 iOS 更新似乎为我解决了这个问题 - 以及该问题跟踪器中的其他人。
标签: javascript jquery ios cordova ios9