onbeforeunload événement sur l'iframe n'est pas déclenché dans google chrome, fonctionne dans IE, firefox

Si vous définissez une unbeforeunload événement à l'intérieur d'une iframe, ce n'est pas déclenché lorsque vous avez par exemple cliquer sur un lien dans l'iframe. Il fonctionne sous IE et Firefox (pas de l'Opéra, mais Opera ne supporte pas onbeforeunload en général, autant que je sache).

Demandais juste, me suis-je trompé? Si ce comportement ne pas être possible? Ou est-ce un bug dans Google Chrome/webkit? Aucune solution de contournement?

Exemple de Code:

test.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>

test2.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>

OriginalL'auteur AMO | 2010-07-03