2010-04-22 11 views

Répondre

2

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).