BOGUE : Impossible de fermer une fenêtre Internet Explorer à l’aide de la méthode window.setTimeout(window.close,1) dans Windows XP Service Pack 2


Symptômes


Lorsque vous cliquez sur un lien hypertexte qui est conçu pour fermer une fenêtre Microsoft Internet Explorer, la fenêtre Internet Explorer ne se ferme pas. Ce problème se produit dans Microsoft Windows XP Service Pack 2.

Cause


Le lien hypertexte utilise la méthode window.setTimeout(window.close,1) pour fermer la fenêtre d’Internet Explorer.

Solution de contournement


Pour contourner ce problème, utilisez la méthode window.setTimeout("window.close()", 1) ou la méthode Window.Close () pour fermer la fenêtre d’Internet Explorer.

Vous pouvez utiliser l’exemple de code suivant pour montrer la solution de contournement.
<html>
<body>
<script>
function TimeoutCloseWindow2()
{
window.setTimeout("window.close()", 1);
}
function DirectCloseWindow()
{
window.close();
}
</script>
<p>
<a href="javascript:TimeoutCloseWindow2();">Workaround 1: Click here to try to close the window by using window.setTimeout("window.close()", 1)</a>
</p>
<p>
<a href="javascript:DirectCloseWindow();">Workaround 2: Click here to try to close the window by using window.close()</a>
</p>
</body>
</html>

État


Microsoft a confirmé qu'il s'agissait d'un bogue dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations


Procédure pour reproduire le problème

  1. Cliquez sur Démarrer, cliquez sur
    Exécuter, tapez Notepad, puis cliquez sur OK.
  2. Placez l’exemple de code suivant dans le bloc-notes.
    <html>
    <body>
    <script>
    function TimeoutCloseWindow()
    {
    window.setTimeout(window.close, 1);
    }
    </script>
    <a href="javascript:TimeoutCloseWindow();">Click here to try to close the window by using window.setTimeout(window.close, 1)</a>
    </body>
    </html>
  3. Enregistrez le fichier sous Repro.html.
  4. Utilisez Internet Explorer pour ouvrir le fichier Repro.html.

    Remarque Si Internet Explorer affiche le message suivant, cliquez sur le message, puis cliquez sur Autoriser le contenu bloqué.

    Pour protéger votre sécurité, Internet Explorer a restreint ce fichier à partir de l’affichage du contenu actif qui pourrait accéder à votre ordinateur. Cliquez ici pour les options.
  5. Cliquez sur le lien Cliquez ici pour tenter de fermer la fenêtre à l’aide de window.setTimeout (window.close, 1) .

    Vous attendez la fermeture de la fenêtre d’Internet Explorer. Toutefois, la fenêtre Internet Explorer ne se ferme pas.