如果您在 iframe 内设置了 unbeforeunload 事件,则当您单击 iframe 中的链接时不会触发该事件。它适用于 IE 和 Firefox(不是 Opera,但 Opera 不支持一般 AFAIK 中的 onbeforeunload)。

只是想知道,我做错了什么吗?这种行为不应该是可能的吗?还是 Google Chrome/webkit 中的错误?任何解决方法?

代码示例:

测试.html:

<html>
  <body>
    <p>Main page content</p>
    <script type="text/javascript">
      window.onbeforeunload = function() {alert('unloadevent in main window');};
    </script>
    <iframe id="tpa" src="..test2.html"></iframe>
  </body>
</html>

测试2.html:
<html>
  <body>
    <script type="text/javascript">
      self.onbeforeunload = function() {alert('unloadevent in frame window');};
    </script>
    <a href="http://www.google.com/">Link to for instance google</a>
  </body>
</html>

最佳答案

现在已修复。 See Ticket.

关于iframe - iframe 上的 onbeforeunload 事件未在 google chrome 中触发,适用于 IE、firefox,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3171462/

10-17 01:06