Comment faire pour désactiver “prévenir cette page à partir de la création de boîtes de dialogue supplémentaires”?
Je suis le développement d'une application web qui utilise JavaScript alert()
et confirm()
des boîtes de dialogue.
Comment puis-je arrêter de google Chrome à partir de montrer cette case?
Est-il un paramètre que je peux modifier?
Je sais que je pourrais modifier le code source, mais j'aimerais qu'il sorte que Chrome pourrait toujours de mise à jour automatique.
Je n'ai pas besoin de vous soucier d'autres navigateurs depuis l'application ne s'exécute dans le navigateur Chrome.
J'ai accès à l'administration (Windows) des machines à exécuter l'application.
Vous devez vous connecter pour publier un commentaire.
1000
) pour votre machine, vous pourriez obtenir de Chrome pour arrêter montrant que la case à cocher.Vous ne pouvez pas. C'est une fonctionnalité du navigateur là pour éviter que les sites montrant des centaines d'alertes pour vous empêcher de partir.
Cependant, vous pouvez regarder en modal popups comme jQuery UI Dialog. Ce sont javascript, des boîtes d'alerte pour afficher une boîte de dialogue personnaliser. Ils n'utilisent pas le défaut
alert()
fonction et, par conséquent, de contourner le problème, vous êtes en cours d'exécution dans complètement.J'ai trouvé que l'une des applications qui a beaucoup de boîtes de message et confirme a un beaucoup meilleure expérience utilisateur si vous utiliser des boîtes de dialogue au lieu de la valeur par défaut les alertes et les confirme.
alert()
etconfirm()
boîtes dans le code. Je ne veux pas réinventer la roue, juste de désactiver cette case à cocher.alert()
de l'utilisation de vos personnalisée modal popup au lieu de native. stackoverflow.com/questions/1729501/javascript-overriding-alertC'est ce que j'ai fait, puisque nous avons une application web qui a plusieurs utilisateurs qui ne sont pas sous notre contrôle...(@DannyBeckett je sais que ce n'est pas une réponse exacte à votre question, mais les gens qui sont à la recherche à votre question est peut-être aidés par ce.) Vous pouvez détecter au moins si ils ne voient pas les boîtes de dialogue. Il ya quelques choses que vous plus susceptibles de vouloir modifier le temps d'affichage, ou ce que vous êtes réellement l'affichage. Rappelez-vous, cela ne sera d'avertir l'utilisateur qu'ils ont réussi à cliquez sur la petite case à cocher.
Évidemment, j'ai mis du temps à 3,5 millisecondes. Mais après quelques tests, nous étions seulement en mesure de cliquer ou de fermer les boîtes de dialogue dans environ 5 millisecondes plus.
Je sais que tout le monde est éthiquement contre, mais je comprends qu'il ya des raisons de pratique plaisante où cela est souhaité. Je pense que Chrome a pris une position solide sur ce par l'application obligatoire d'une seconde de temps de séparation entre les messages d'alerte. Cela donne au visiteur juste le temps de fermer la page ou actualiser si ils sont coincés sur une blague ennuyeux site.
Donc, pour répondre à votre question, c'est tout une question de timing. Si vous alerte plus d'une fois par seconde, Chrome va créer cette case à cocher. Voici un exemple simple d'une solution de contournement:
Il est mieux d'utiliser jquery-confirmer plutôt que d'essayer de supprimer cette case à cocher.
Vous devriez permettre à l'utilisateur de le faire s'ils le veulent (et vous ne pouvez pas les arrêter, de toute façon).
Votre problème est que vous avez besoin de savoir qu'ils ont et puis supposer qu'ils signifient OK, pas de l'annuler. Remplacer
confirm(x)
avecmyConfirm(x)
: