2010-06-19 3 views
3

Existe-t-il un moyen d'échapper une boucle comme celle ci-dessous sans fermer le navigateur en mettant fin au processus?Echapper à une boucle infinie sans quitter le navigateur

AVERTISSEMENT: N'exécutez pas le code ci-dessous. L'exécution de ce code lancera votre navigateur dans une boucle infinie d'alertes.

<html><body onload="while(true)alert('Hello')"></body></html> 
+3

Chrome affiche une belle option «Empêcher cette page de créer des boîtes de dialogue supplémentaires» si une alerte se déclenche deux fois de suite. – Anurag

+0

@Anurag Bon à savoir –

+0

Opera a également une option «Arrête d'exécuter des scripts sur cette page». – Artelius

Répondre

8

Certains navigateurs empêcheront cela de se produire en premier lieu.

Chaque fois que cela ne me arrive, je fais de mon mieux pour faire la séquence suivante rapidement:

[ENTER] Ctrl+W 

qui va échapper à la boucle et fermer la fenêtre/onglet, mais ne devrait pas mettre fin au navigateur.

EDIT Je ne devrais pas dire qu'il échappe à la boucle. Il ferme la fenêtre qui empêche cette page d'exécuter plus de javascript.

+0

Pensez-vous que c'est possible "sans fermer l'onglet"? – leaf

+0

Wow, a travaillé comme un charme !! – sXe

0

Sur Firefox, installez le Firebug plugin. Parmi de nombreuses autres fonctionnalités utiles, il vous permet de déboguer le code javascript.

5

Plug-in Firebug pour FireFox, mentionné dans une autre réponse, est une option, bien que trop puissante.

Un plus ciblé est un plug-in AlertCheck.

Voici une capture d'écran de la case, il ajoute à alerter les boîtes de dialogue:

alt text

Pour les navigateurs non FireFox, il n'y a pas de réponse générique à part vraiment rapide Ctrl + W après avoir cliqué sur/ENTER -ing "OK" ce qui est difficile à faire fonctionner (et peut ne pas fonctionner sur Internet Explorer 6 dont IIRC ne fait pas Ctrl-W).

+0

+1 N'avait pas entendu parler du plugin, Merci –

+0

Chrome et Opera offrent la possibilité de supprimer nativement d'autres messages sans plugins. Safari n'en a pas autant que je sache. – Anurag