在iOS上的Safari中调用history.pushState后,当使用浏览器后退按钮进行更改时,不再可以使用alert(),confirm()或prompt().
重现此行为的简单示例:
<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工作