当触发history.back时,带有appcache的ios7 webapp

时间:2014-01-04 06:34:51

标签: ios7

我的应用程序使用appcache,当在safari(Ios7)中触发history.back()时,它不起作用。删除appcache minifest后,它可以工作,我可以在'statechange'中进行控制。

2 个答案:

答案 0 :(得分:0)

这是由于使用AppCache时Safari 7+中存在错误。此时只有已知的解决方案是禁用AppCache。

请参阅history.back() doesn't work in Safari on iOS

答案 1 :(得分:0)

这是一个可怕的错误!我用这个修复:

if (
    (/\bSafari\//gi).test(window.navigator.userAgent) &&
    (/\bVersion\/7/gi).test(window.navigator.userAgent)
) {
    window.console.warn('removing appcache');
    window.document.documentElement.removeAttribute('manifest');
}

我有一些关于这个修复后仍然无法工作的后退按钮的报告,但我测试它的每个地方都有效。我希望这有帮助!