iOS Safari - 打开新选项卡的页面继承历史记录,此行为是否有记录?

Tom*_*fka 6 javascript webkit

重现步骤:

  • 在 iOS Safari 上打开第 1 页
  • 打开其中的链接到新选项卡或后台选项卡 (#2)
  • 执行(通过 safari 开发工具)history.length- 它将显示选项卡 #1 的历史记录。另外,history.go(-1)将转到选项卡 #2 中的页面 #1

发生这种情况可能是因为 iOS 试图为用户保持流畅的体验(如果页面打开新选项卡的链接,您仍然可以通过 UI 按钮导航回来,这将关闭新选项卡并返回到上一个选项卡)。

我想问一下:

  1. 这种行为(特定于移动Safari)是否记录在某处?
  2. 是否可以区分在新选项卡中打开的链接(在其他浏览器中,此类链接有history.length == 1,但这里没有)?如果我想帮助用户返回,这将很有帮助,因为我需要做window.close()(=关闭选项卡#2)而不是history.go(-1)(=在选项卡#2中打开页面#1)。

谢谢!