javascript - history.back 在使用 Cordova 的 iOS 上不起作用

标签 javascript jquery ios cordova html5-history

我有一个使用 Cordova 开发的混合应用程序。该应用程序非常简单,所以我没有使用框架。几乎所有页面都使用 jQuery 的 ajax() 方法通过 Ajax 注入(inject),然后通过 pushState() 方法使用 HTML5 History API 添加到历史记录中。

为了允许用户返回到之前访问过的页面(历史页面),我创建了一个按钮。我监听 backbutton 事件以及点击该按钮,当事件被触发时,我执行以下处理程序:

onBackButton: function() {
   window.history.length === 0 ? navigator.app.exitApp() : window.history.back();
}

为了确保获得最大的兼容性,我还添加了 history.js到项目。

它在 Android 和 Mac 上的 iOS 模拟器上运行起来就像一个魅力,但在真实设备上不起作用。发生的情况是 iOS 捕获事件但方法的执行不会更改页面。我已经根据 StackOverflow 上的先前答案尝试了几种方法,但没有成功。一些例子是:history.back() not working in phonegap ios buildPhonegap - navigator.app.backHistory() not working on HTML back button .

我可以尝试什么?

最佳答案

你可以简单地使用,

history.go(-1);

向后导航。

关于javascript - history.back 在使用 Cordova 的 iOS 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24352757/

相关文章:

javascript - 使用 jquery 查找并聚焦第一个元素

javascript - 如何跨多个js文件使用一个函数

javascript - 为输入类型编号添加千位逗号分隔符

javascript - 如何从一系列具有相同 id 的文本框中获取值

javascript - 游戏的图 block 填充算法

ios - 在 iPhone 上测试应用内购买

ios - 在等待属性初始化的 init 中调用函数

javascript - Ember.js:在服务的 Handlebars 中使用计算属性

javascript - 评估的 jquery 动态变量

ios - NSURLCache 不会清除 iOS8 中存储的响应