2009-02-19 9 views
3

Tout javascript pour inviter une boîte de message lorsqu'un utilisateur ferme IE? J'ai essayé de trouver un échantillon de code pendant un certain temps mais j'ai échoué.affiche une boîte de message lorsque l'utilisateur ferme IE

merci à l'avance, George

Voici mon code html, mais il a l'erreur suivante. Des idées? Pour vous aider à protéger votre sécurité, Internet Explorer a restreint cette page Web à l'exécution de scripts ou de contrôles ActiveX pouvant accéder à votre ordinateur. Cliquez ici pour les options ...

Répondre

7

Vous recherchez l'événement beforeunload.

Par exemple:

function someCloseEvent() { 
    return "Any string value here forces a dialog box to \n" + 
     "appear before closing the window."; 
} 

window.onbeforeunload = someCloseEvent; 
+0

J'ai utilisé votre code mais j'ai l'erreur de sécurité suivante, des idées? Pour vous aider à protéger votre sécurité, Internel Explorer a restreint cette page Web à l'exécution de scripts ou de contrôles ActiveX pouvant accéder à votre ordinateur. Cliquez ici pour les options ... (Je poste mon code html en question.) – George2

+0

Mon code. Fermez moi! – George2

+0

@ George2: Vous exécutez le fichier à partir de l'ordinateur local. Par mesure de sécurité, les navigateurs n'exécutent pas de scripts sur les fichiers locaux. Ajoutez l'hôte local à l'anneau de confiance ou placez le fichier sur un serveur. – voyager

1
+0

J'ai essayé votre code, mais il y a un avertissement de sécurité. Des idées pour l'enlever? Pour vous aider à protéger votre sécurité, Internel Explorer a restreint cette page Web à l'exécution de scripts ou de contrôles ActiveX pouvant accéder à votre ordinateur. Cliquez ici pour les options ... – George2

+1

si vous utilisez localhost-testing, c'est une chose courante, il suffit de l'activer ;-) – Jasper

+0

Je vois. J'ai testé sur un autre serveur IIS et vous avez raison. Des idées pourquoi il y a une telle erreur sur testing localhost? Localhost devrait être plus fiable que le serveur IIS distant. – George2

1

Vous recevrez également un message lors de l'actualisation. Mieux vaut vérifier clientx et clientY aussi dans le beforeunload. Ceci est un pseudo code ...

<script type="text/javascript"> 

    var myclose = false; 

    function ConfirmClose() 
    { 
     if (event.clientY < 0) 
     { 
      event.returnValue = 'Any message you want'; 

      setTimeout('myclose=false',100); 
      myclose=true; 
     } 
    } 

    function HandleOnClose() 
    { 
     if (myclose==true) alert("Window is closed"); 
    } 
</script> onbeforeunload="ConfirmClose()" onunload="HandleOnClose()" 
+0

J'ai essayé votre code, mais il y a un avertissement de sécurité. Des idées pour l'enlever? Pour vous aider à protéger votre sécurité, Internel Explorer a restreint cette page Web à l'exécution de scripts ou de contrôles ActiveX pouvant accéder à votre ordinateur. Cliquez ici pour les options ... – George2

+2

C'est le comportement spécifique d'IE. Vous devrez peut-être ajouter des sites de confiance en tant que site ou réduire le niveau de sécurité pour permettre aux scripts de s'exécuter dans le navigateur. – lakshmanaraj

1

Sur une note de côté, je serais sérieusement envisager si vous voulez faire cela. Quand je ferme la fenêtre, j'en ai fini avec votre site, je ne veux plus de messages de votre part. Ouvrir une fenêtre supplémentaire va énerver beaucoup de monde.

+0

Je traite des informations importantes lorsque je montre ce message pour m'assurer que l'utilisateur ne clique pas sur le bouton de fermeture. :-) – George2

+0

Lorsque testé localement, il y a un avertissement de sécurité comme celui-ci, mais sur le serveur IIS distant c'est ok. Des idées pour l'enlever? Pour vous aider à protéger votre sécurité, Internel Explorer a restreint cette page Web à l'exécution de scripts ou de contrôles ActiveX pouvant accéder à votre ordinateur. Cliquez ici pour les options ... – George2

+0

sur votre environnement local (par exemple localhost ou similaire) IE met cette barre sur n'importe quelle page. Si vous ajoutez le "MOTW" Mark Of The Web, IE va arrêter de déconner. Comme vous l'avez noté, sur Intranet ou Internet, ça va. – scunliffe

Questions connexes