Nous pouvons passer de la méchanceté d'Oldskool comme ceci:
document.write('<p >Here is some syndicated content.</p>');
À la beauté moderne comme ceci:
var newcontent = document.createElement('p'); newcontent.id = 'syndicated-content'; newcontent.appendChild(document.createTextNode('Here is some syndicated content.')); var scr = document.getElementById('syndication'); scr.parentNode.insertBefore(newcontent, scr);
Nous pourrions même aller plus loin et supprimer l'ID
var scripts = document.getElementsByTagName('script'); for(var i=0; i<scripts.length; i++) { if(scripts[i].src == 'http://www.mydomain.com/syndication.js') { //scripts[i] is the one break; } }
Et là, vous l'avez - une manière simple mais élégante d'insérer du contenu en place, en supprimant le dernier vestige du besoin de document.write!
L'utilisation de document.write en javascript est souvent découragée pour plusieurs raisons. Premièrement, cela peut entraîner des problèmes de performances car il bloque l'analyse du document HTML jusqu'à ce que l'exécution du script soit terminée. Deuxièmement, cela peut causer des problèmes avec la charge asynchrone des scripts. Enfin, cela peut entraîner des problèmes avec l'état du document, surtout lorsqu'il est utilisé après que le document a été entièrement chargé. Par conséquent, il est recommandé d'utiliser des alternatives à document.write.
Il existe plusieurs alternatives à document.write en javascript. Il s'agit notamment de l'utilisation de InnerHTML, de TextContent ou de CreateElement avec APPEDCHILD. Ces méthodes sont plus efficaces et ne bloquent pas le processus d'analyse HTML. Ils permettent également un meilleur contrôle sur où et comment le nouveau contenu est inséré dans le document.
InnerHTML est une propriété qui peut être utilisée pour obtenir ou définir le contenu HTML d'un élément. Pour l'utiliser comme alternative à Document.Write, vous pouvez sélectionner un élément et définir sa propriété InnerHTML sur la chaîne HTML souhaitée. Par exemple:
document.getElementById ('myelement'). Innerhtml = '
nouveau contenu
'; TextContent est une propriété qui peut être utilisée pour obtenir ou définir le contenu texte d'un NODE et son descendants. Pour l'utiliser comme alternative à Document.Write, vous pouvez sélectionner un élément et définir sa propriété TextContent sur le texte souhaité. Par exemple:
document.getElementById ('myelement'). TextContent = 'New Content';
CreateElement est une méthode qui peut être utilisée pour créer un nouvel élément, et l'APPEndChild est une méthode qui peut être utilisée pour annexer un nœud enfant à un nœud parent. Pour les utiliser comme alternatives à Document.Write, vous pouvez créer un nouvel élément, définir son contenu, puis l'ajouter à l'élément parent souhaité. Par exemple:
var newelement = document.CreateElement ('p');
newelement.textContent = 'new Content';
document.getElementByid ('myelement'). APPEDCHILD (Newelement);
Puis-je utiliser jQuery comme alternative à document.write?
Quels sont les avantages de l'utilisation d'alternatives à document.write?
Puis-je toujours utiliser Document.Write dans le développement Web moderne?
Où puis-je en savoir plus sur les alternatives à document.write?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!