Maison >interface Web >js tutoriel >2 solutions pour utiliser externalHTML dans les astuces Firefox_javascript
Tout le monde doit être familier avec l'attribut innerHTML de l'objet DOM, mais l'attribut externalHTML est moins utile. L'attribut innerHTML renvoie le HTML contenu dans l'objet DOM de la balise de début à la balise de fin, tandis que l'attribut externalHTML renvoie le code HTML contenu dans l'objet DOM. HTML incluant la balise de l'objet DOM lui-même. La figure suivante peut bien expliquer la différence entre les deux attributs :
outerHTML était à l'origine un attribut privé appartenant à IE. Vous pouvez consulter la description MSDN. sur : propriété externalHTML (http://msdn.microsoft.com/en-us/library/ms534310(VS.85).aspx). Actuellement, IE, Chrome, Safari et Opera prennent tous en charge cet attribut. Le problème est que externalHTML ne prend pas en charge Firefox, cet attribut renvoie toujours undefined. Heureusement, HTML5 ajoutera cet attribut.
Laissez Firefox prendre en charge l'attribut externalHTML en étendant le prototype de HTMLElement :
HTMLElement.prototype.__defineGetter__("canHaveChildren", function(){
return
!/^(area|base|basefont|
col|frame|hr|img|br|
input|isindex|link|meta
|param)$/.test(this.tagName.toLowerCase());
});
}
Par rapport à la méthode ci-dessus, il n'est pas nécessaire de toucher au prototype et la quantité de code est bien moindre. Je pense qu'il y aura d'autres solutions.