La méthode de réécriture des objets de fenêtre n'est pas une nouveauté. Par exemple, nous devrons peut-être modifier le comportement de l'alerte par défaut. Comment le réécrire en toute sécurité?
Xiaocai a vu qu'un site Web informatique bien connu était écrit comme ceci:
La copie de code est la suivante:
window.Alert = function () {};
ou
La copie de code est la suivante:
alert = function () {};
En fait, cette écriture est quelque peu inappropriée. Cela équivaut à ajouter un attribut d'alerte à l'objet Window. Sa priorité est supérieure à l'alerte intégrée du système, il peut donc obtenir l'effet de la réécriture, mais cela est facile à percer. Si vous exécutez l'instruction suivante, vous restaurerez l'alerte.
La copie de code est la suivante:
Supprimer la fenêtre.Alert;
Parce que l'alerte réécrite de cette manière n'est qu'un attribut de l'objet Window et peut être supprimée via l'opérateur de suppression.
Comment peut-il être réécrit en permanence et irréversible?
Définissez simplement une variable globale! Bien que les variables globales soient également enregistrées en tant que propriété d'un objet de fenêtre, elles ne peuvent pas être supprimées et elles existent absolument. Le code est le suivant:
La copie de code est la suivante:
var alert = function () {};
Cette méthode de réécriture ne sera jamais restaurée et sera sûre et fiable!