我见过了解iOS 6与保存到网站/从主屏幕上推出了新的行为的一些其他职位。 在iOS 5(或更早),我们能够使用JavaScript历史记录功能为我们的应用程序内的后退按钮。 在iOS 6中,但是,它的工作原理,如果你只去过一个页面的网站。 但如果你有,你已经访问多个页面时,它抛出一个页面未找到错误。 它在Safari工作正常(而不是从主屏幕),和它的作品,如果我删除<meta name="apple-mobile-web-app-capable" content="yes" />
标签。 但后来我得到我想要避免难看的chrome浏览器。
我已经看到了关于变更到iOS 6不再与Safari浏览器共享数据类似的帖子,但我希望有人碰上历史信息的类似问题被存储/用于iOS 6中的应用程序的主屏幕的版本。
我们使用此电话: <a href="javascript:history.back();" class="back"></a>
<a href="javascript:history.back();" class="back"></a>
再次,它是从Safari浏览器工作正常,优良的一切旧的操作系统。 但它无法在iOS 6从主屏幕当有用户点击了超过两页。
我的理解是,如果你加入苹果移动网络应用能力的标签-它缓存加书签到主屏幕页面。
一旦书签启动将导致Safari浏览器推出的URL的任何后续请求(丑陋的铬添加)。
你可以做一些基本的错误检查 - 如果有任何的历史:
function GoBack() {
if(history.length) {
history.back();
return false;
}
return true; //follow the regular link
}
你真的应该给你的网址,适当href的值改为:
<a href="http://your_standard_url" class="back" onClick="GoBack()"></a>
试戴之一
window.history.pushState
http://thelink.is/history-api-ios-bug
要么
window.history.pushState(数据,标题, 'A /新/ URL#');
要么
window.history.pushState(数据,标题, 'A /新/ URL');
window.location.hash = '新';
文章来源: Javascript history function not working for web page served from homescreen on iOS 6