Servissez-vous réellement votre XHTML comme XML (application/xhtml+xml
)? Sinon, vous n'avez pas à vous en préoccuper, pour le moment. document.write
fonctionnera toujours en mode text/html
bien que ce soit certainement une mauvaise pratique en général. Si vous utilisez vraiment du XHTML natif ... eh bien, je pense que vous risquez d'avoir plus de problèmes que simplement document.write
, car il y a pas mal de choses qui peuvent déclencher le script quand il ne s'attend pas à être exécuté en XHTML. Mais vous pouvez le pirater le problème en sabotant document.write
.
La méthode la plus simple serait quelque chose comme:
document.write= function(s) {
document.getElementById('placetoputwrittenstuff').innerHTML= s;
};
mais vous auriez besoin de plus déconner si elle a essayé d'écrire <script>
balises (depuis leur mise par innerHTML
ne les exécute pas, vous devez choisir les sortir avec getElementsByTagName
et exécutez chacun manuellement), ou des éléments partiels d'éléments à travers différents appels à write
(dans ce cas, vous devrez collecter des chaînes et les coller ensemble quand c'est fini).