【发布时间】:2011-09-03 22:31:23
【问题描述】:
将此归档在“我无法相信之前没有人注意到这一点”或“我必须遗漏一些东西”类别下:
看来,如果您在 iOS 上执行简单的window.history.pushState,位置栏不会更新,除非它响应用户手势。状态本身确实会被推送(正如您可以通过点击后退按钮看到的那样)。
这是我能想出的最小的测试用例重新创建问题:
http://thelink.is/history-api-ios-bug
在支持 History API 的桌面浏览器上,您应该会看到位置栏中的 URL 每秒更改为 /0、/1 等。在 iOS 上 – 使用 iPhone(运行 iOS 4.3)和 iPad(运行 iOS 4.3.3)进行测试 – 位置栏不会更新,但点击后退按钮会带您到正确的先前位置(测试用例中的 404)没有后端逻辑来处理这些 URL)。
想法?解决方法?一个可以哭泣和拥抱的肩膀?
更新:此问题已在 iOS 5 中修复。
【问题讨论】:
-
在那里看到一个答案,让它与 angularjs 一起工作 stackoverflow.com/a/31830466/1138430
标签: ios html browser-history pushstate