chrome annule l'action "empêcher cette page de créer des boîtes de dialogue supplémentaires"

122

Je trouve parfois que je dois réactiver les alertes pour le débogage. Bien sûr, je peux fermer l'onglet et le recharger, mais y a-t-il un meilleur moyen?

dents
la source

Réponses:

62

Non, mais vous devriez vraiment utiliser console.log()au lieu de alert()pour le débogage.

Dans Chrome, il a même l'avantage de pouvoir imprimer des objets entiers (pas seulement toString()).

Par Salbark
la source
10
Les alertes sont utiles car elles affectent le timing. Et l'introspection de l'instruction console.log de l'inspecteur Web peut parfois se produire après l'exécution d'un tas de code après que le journal de la console cache l'état à la ligne lorsque l'état console.log a été exécuté.
Bjorn
10
@BjornTipling Pour cela, vous pouvez utiliser debuggerou un point d'arrêt.
Ionică Bizău
1
Votre réponse "non" signifie-t-elle qu'il n'y a pas d'autre moyen de réactiver les alertes ou que vous pensez que le demandeur ne devrait pas utiliser les alertes?
LS
1
Je sais que ma réponse ne répondait pas directement à la question telle qu'elle était formulée, mais elle fournissait les informations que l'affiche originale recherchait. Quant à la réponse de Dentaku, je peux dire avec une certaine confiance que ce n'est pas la bonne réponse, puisque l'affiche originale dit spécifiquement qu'il connaît cette solution et cherche autre chose.
Per Salbark
Nous sommes en 2017 et un peu tard, mais en ce qui concerne je cherche cette information et trouve ce fil, je veux ajouter ce qui suit: La déclaration self est parfaitement correcte et il faut utiliser console.log, debuggerou des points d'arrêt pour le débogage. Mais la réponse est fausse à la question. Il existe quelques cas où vous souhaitez réellement utiliser quelque chose comme Javascript confirm();et lorsque vous appuyez sur la case à cocher, la boîte de dialogue ne sera pas affichée. La question est donc la suivante: pouvez-vous toujours annuler ou même empêcher cela, car vous VOULEZ cette boîte de dialogue pour votre propre page (pas pour annoncer des publicités)
Cagatay Ulubay
157

Fermez l'onglet de la page sur laquelle vous avez désactivé les alertes. Rouvrez la page dans un nouvel onglet. Le paramètre ne dure que pour la session, les alertes seront donc réactivées une fois la nouvelle session commencée dans le nouvel onglet.

dentaku
la source
29

La bonne réponse est donc: OUI, il existe un meilleur moyen.

Faites un clic droit sur l'onglet et sélectionnez "Dupliquer", puis fermez l'onglet d'origine si vous le souhaitez.

L'alerte est réactivée dans le doublon.

L'onglet en double semble recréer l'état de fonctionnement de l'onglet d'origine afin que vous puissiez simplement continuer là où vous étiez.

Graham
la source
4
Pour info, si vous cliquez au milieu sur l'icône d'actualisation, cela duplique l'onglet. Les boutons Précédent / Suivant en cliquant avec le milieu ouvrent également leurs pages dans de nouveaux onglets. Assez pratique.
RobM
Bien que les outils de débogage soient excellents, il est parfois bon d'imprimer simplement à l'écran sans consulter le code du débogueur. C'est propre. Vous n'êtes pas obligé d'être d'accord, mais je suis d'accord avec cette réponse.
ejbytes le
@RobM Eh bien, je serai damné. Je n'aurais jamais su que le clic du milieu pouvait faire cela aussi.
ASalazar
D'après mon expérience, la phrase «fermez l'onglet d'origine si vous le souhaitez » semble trompeuse, car tant que je ne ferme pas l'onglet précédent, l'alerte n'apparaît pas dans le nouveau. L'onglet d'origine doit donc être fermé.
Stan
6

2 autres solutions avec lesquelles j'ai eu de la chance lorsque ni l'onglet ne se ferme + ne rouvre la page dans un autre onglet ni ne ferme tous les onglets dans Chrome (et le navigateur), puis le redémarrage ne fonctionne pas:

1) Je l'ai corrigé sur ma machine en fermant l'onglet, en forçant la fermeture de Chrome et en redémarrant le navigateur sans restaurer les onglets (Remarque: sur un ordinateur exécutant CentOS Linux).

2) Mon patron (également sur CentOS) a eu le même problème (les alertes sont une grande partie du processus de débogage Javascript de mon entreprise pour de nombreuses raisons, par exemple l'héritage), mais ma 1ère méthode n'a pas fonctionné pour lui. Cependant, j'ai réussi à le réparer pour lui avec le processus suivant:

  • a) Créez un fichier texte vide appelé FixChrome.sh et collez-le dans le script bash suivant:

    #! /bin/bash
    cd ~/.config/google-chrome/Default     //adjust for your Chrome install location
    rm Preferences
    rm 'Current Session'
    rm 'Current Tabs'
    rm 'Last Session'
    rm 'Last Tabs'
  • b) fermez Chrome, puis ouvrez Terminal et exécutez le script (bash FixChrome.sh).

Cela a fonctionné pour lui. L'inconvénient est que vous perdez tous les onglets de votre session actuelle et précédente, mais cela en vaut la peine si cela compte pour vous.

Andrew Faulkner
la source
4

ouvrir une nouvelle fenêtre ou un nouvel onglet avec le même lien .. l'option PRÉVENIR ne dure que par session.

Marwah Abdelaal
la source
1
en quoi cela diffère-t-il de la note du PO queOf course I can close the tab and reload it but Is there a better way?
Jeff Puckett
2

Si vous souhaitez que la boîte de dialogue soit réactivée pour la page que vous avez définie comme empêcher la boîte de dialogue de s'afficher.

Chrome: sélectionnez les paramètres, une page google pour Chrome s'ouvrira avec tous vos paramètres pour Chrome.

Tout en bas, accédez aux paramètres avancés et en bas des paramètres avancés, vous pouvez cliquer sur Paramètres du navigateur Resset ... cela fera apparaître la boîte de dialogue comme il se doit.

Yves
la source
8
Bien que cela réinitialise certainement le problème d'alerte, il doit être utilisé avec prudence, car il réinitialise tous les paramètres. Il n'y a aucun moyen de sélectionner ce que vous souhaitez réinitialiser. De plus, je ne pense pas que ce soit plus simple que de rafraîchir la page
fejese
2
Malheureusement, Google a indexé cela comme la réponse ... c'est terrible. ne le fais pas.
macm
-2

Désactiver l'accélération matérielle semble être le paramètre qui affecte les fenêtres contextuelles et les boîtes de dialogue.

Chrome cachait continuellement Dialog Windows lorsque je devais répondre par Oui ou Non à des choses, également lorsque je devais renommer des dossiers dans mon panneau de favoris. Après des semaines à faire cela. J'ai désactivé tous les helpers Chrome dans les paramètres, également dans Windows 10, j'ai désactivé la capture de fenêtre. Il a fait quelque chose pour remettre les fenêtres contextuelles et les boîtes de dialogue dans la fenêtre.

Lorsque ce bug se produit, j'ai pu fermer un onglet en appuyant d'abord sur Entrée avant de cliquer sur le bouton Fermer l'onglet X. Le navigateur avait une boîte d'alerte, masquée, qui nécessitait une réponse de l'utilisateur.

L'activation et la désactivation de l'accélération matérielle, la suppression du processus Chrome et la désactivation et la désactivation de tous les autres Helpers l'ont corrigé pour moi ... Cela doit être dans Chrome lui-même parce que je viens de passer dans une fenêtre Chrome sur le Mac et c'est maintenant arrêté le problème, sans aucune intervention. Je suppose que l'activation / désactivation / désactivation des paramètres de chrome a provoqué le repositionnement des boîtes de dialogue. Je ne peux pas faire en sorte que le navigateur répète la faute maintenant ...

TJ SHEPPARD
la source