Comme je sais, l'entrée HTML est un flux d'octets, et document.write()
peut changer le flux en insérant de nouveaux octets. Par exemple.Quels facteurs peuvent modifier le flux d'octets d'entrée HTML?
document.write("<p> an example </p>");
également la seule spécification HTML5 parsing model de document.write()
indiquent peut changer l'entrée HTML, mais il ne dit pas que c'est le seul facteur.
Y a-t-il d'autres facteurs modifiant l'entrée HTML?
Non La manipulation DOM n'a aucun effet sur l'entrée de l'analyseur. – Bergi
@ Bergi, je ne pense pas que votre tort, mais comment cela peut-il être? Je veux dire que si vous créez ou insérez quelque chose dans votre page, ne doit-il pas être analysé par l'analyseur html du navigateur tout comme le flux original? Comme ma réponse le montre, je pensais que ça fonctionnait toujours différemment, alors j'aimerais savoir ce qui se passe si mon idée est erronée. – Ryan
Non, il est analysé une fois et vous n'avez que le * Document ** Object ** Model * avec sa structure arborescente. Il pourrait être possible de sérialiser le DOM en une chaîne HTML, mais ce ne sera pas le même (différentes entités de caractères, erreurs d'analyse corrigées, etc.); et parfois l'analyseur est nécessaire à nouveau pour innerHTML ou autre, mais la chaîne HTML d'origine aura été oubliée. – Bergi