2010-12-03 50 views
3

Simple: Je veux désactiver/remplacer alert().Désactiver une fonction intégrée en javascript (alerte)

Puis-je faire ceci?

Plus important encore, est-ce juste de le faire?

Qu'en est-il du mode strict?

+3

Pourquoi ne voulez désactiver? Si vous voulez surcharger comme vous voulez l'afficher en HTML, le styler, etc., vous pouvez essayer d'utiliser javascript + overlay. –

+0

exactement. En fait, utiliser 'alert()' est inutile. Cela agace à la fois moi et l'utilisateur. Je veux le remplacer car un script que j'utilise le contient, et je ne veux pas le modifier (et suivre ce modif). –

Répondre

6

Oui, vous pouvez désactiver ou remplacer alert(). Non, ce n'est pas bien de le faire, sauf dans des situations bizarres et limitées.

Désactiver:

window.alert = function() { }; 

Prioritaire:

window.alert = function(text) { /* do something */ }; 
+0

Avez-vous testé cela? Cela ne fonctionne pas dans IE. Il doit être 'window.alert = ...' dans IE. –

+0

@Tim Down - notez '// comment' à droite de la première instruction js. – jball

+0

Je l'ai vu, mais il se lit comme si vous présentiez les deux alternatives ('alert = ...' et 'window.alert = ...') comme étant tout aussi bonnes, ce qui n'est pas le cas. –

7

Oui vous pouvez, c'est votre choix. Vous pouvez également stocker l'original « alerte »:

window.nativeAlert = window.alert; 
window.alert = function(val){console.log(val+' (alert disabled)');}; 

maintenant l'ancienne alerte est encore utilisable: nativeAlert('something');

+0

pourrait être utile, thx (+1) –