在移动Safari中按下后退按钮后,Javascript在iframe中停止执行

mik*_*gra 7 javascript safari iframe mobile-safari ios

我有一个适用于手机的网页,其中包含一个iframe,其中包含在父目标中打开的链接.

在iOS 5.0.1上的Safari中,当用户单击链接时,然后使用后退按钮返回页面,javascript将停止在iframe中执行.

一个简单的演示来说明问题:

单击链接,确认警报并使用后退按钮.第二次单击链接时,警报将不会显示.

index.html的:

<html>
  <body>
    <iframe src="iframe.html"></iframe>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Iframe.html的:

<html>
  <body>
    <a target="_parent" onclick="alert('Click')" href="http://www.google.com">
      Link
    </a>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我对可能导致这种情况的想法不知所措.有没有人参加过这个活动?

Vic*_*vin 2

我遇到了同样的问题。iPad 的 Safari 似乎会对页面进行快照,当您使用后退按钮返回页面时,它会加载该快照,并且不会执行 javascript 代码。

它似乎与这个问题有关: http://www.mac-forums.com/forums/internet-networking-wireless/257631-safari-ipad-back-button-generates-old-info.html

很烦人。我还没有找到解决办法。