De temps en temps, je suis confronté à un bug très intriguant. Mon code javascript n'affiche pas d'alerte (msg) pendant l'exécution, mais si j'utilise un fichier console.log (msg), il s'affiche dans la console. Qu'est-ce qui pourrait empêcher alert () de s'afficher?
Merci beaucoup
C’est un problème très courant, et tout le monde a été confronté à ce problème au moins une fois . La raison pour laquelle alert () ne fonctionne pas, c’est que vous avez précédemment coché la case "Empêcher cette page de créer un dialoug supplémentaire".
regardons ce code.
<script type="text/javascript">
var js_name = ['elem1', 'elem2']
for (var i = 0; i < js_name.length; i++) {
alert(js_name[i]);
};
</script>
Il y aura deux boîtes d’alerte si vous exécutez le code. Si vous cochez la case "Empêcher cette page de créer des numéros de téléphone supplémentaires", puis actualisez à nouveau la page, vous ne recevrez plus jamais de boîte d'alerte.
La solution est que vous devez fermer cette page Web et rouvrir à nouveau dans le navigateur (vous n'avez pas besoin de fermer tout le navigateur). Je suppose que vous utilisez chrome . Internet Explorer ou FireFox ne dispose pas de cette case à cocher.
Si vous annulez la fonction d'alerte afin qu'elle ne fonctionne pas
alert = function()
{
...
};
alert('hello') // won't show any alert
A ma connaissance, alert () est toujours affiché, sauf si elle est répétitive. Dans ce cas, il vous est demandé si vous souhaitez continuer à afficher des alertes.
Je suppose que les détails sur la manière dont cela est géré dépendent de votre navigateur. Voulez-vous partager plus de détails? :)
Cela se produit également dans ColdFusion. Si vous utilisez une balise cflocation après la balise script (au lieu de location.href), l'alerte ne s'affichera pas.
Dans Firefox: allez dans Options -> Contenu et décochez la case "bloquer les fenêtres pop-up". Redémarrer le navigateur.
Une autre raison pour laquelle alert
, confirm
et Prompt
peut être ignorée par le navigateur, est si le document se trouve dans une iframe
ayant un attribut sandbox
- sans allow-modals
dans sa valeur.
Par exemple, Firefox l'ignore silencieusement, mais Chromium affiche un avertissement.