Как написать примитив E4X XML для нового окна text / xml в Mozilla? - PullRequest
0 голосов
/ 20 июня 2011

Я пишу небольшой Javascript на стороне браузера, который анализирует XML из файла и модифицирует его.В идеале выводом должен быть файл .xml, но, конечно, сделать запись файлов JS-клиентом практически невозможно, поэтому я отказался от этого.

Я хочу, чтобы Firefox открыл новое окно contentType text / xml смой сериализованный xml в нем:

var xmlDoc = new XML(SourceXMLString); //SourceXMLString is read from an xml text file
output = window.open("");
output.document.open("text/plain");
output.document.write(xmlDoc.toXMLString());
output.document.close();

Однако любой экземпляр document.write, кажется, устанавливает contentType в text / html и поэтому все теги отображаются неправильно, естественно. Из этой исправленной ошибки кажется, что document.open создает правильный contentType, но document.write портит его.

  • Это нужно только для работы в Firefox 2 +.
  • На стороне сервера не вариант.
  • Я пошел с Javascript & Mozilla из-за поддержки ECMAScript для XML.

1 Ответ

2 голосов
/ 29 июня 2011

Если вы просто пытаетесь открыть новую вкладку с XML:

open("data:application/xml," + encodeURIComponent(xmlDoc.toXMLString()));

Если вы хотите, чтобы пользователь мог загрузить XML, используйте application / octet-stream вместо application / xml.

...