javascript – 在Safari,iOS上使用History API后,警报,确认和提示无法正常工作

在iOS上的Safari中调用history.pushState后,当使用浏览器后退按钮进行更改时,不再可以使用alert(),confirm()或prompt().

这是iOS错误吗?有没有已知的解决方法

重现此行为的简单示例:

<html>
  <body>
    <ul>
      <li>Step 1: <button onclick="alert(Math.random())">Confirm Alert is working</button></li>
      <li>Step 2: <button onclick="history.pushState(null, null, '/debug/'+Math.random());">Change History</button></li>
      <li>Step 3: use your browser back button, to go back</li>
      <li>Step 4: <button onclick="alert(Math.random())">Alert is not working anymore</button></li>
    </ul>
  </body>
</html>

你可以在这里尝试一下:goo.gl/faFW6o.

解决方法:

当问到这个问题时,这可能是一个问题.当我测试safari版本12.0.2中的给定链接时,它似乎是作为intendant工作

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...