2009-05-04 3 views
0

Я создаю документ XMl через JavaScript и должен предложить пользователю сохранить его на своем локальном компьютере.Как создать файл xml и разрешить пользователю сохранять его локально с помощью javascript?

Это код, у меня есть на данный момент:

var xmlWindow = window.open("", ""); 
xmlWindow.document.write("<node>data</node>"); 

Об этом пишет XML в новом окне, которое пользователь может ударить File-> Save для загрузки.

  1. Есть ли более элегантный способ сделать это?
  2. Есть ли способ установить mimeType нового окна, чтобы xml отображался правильно?
  3. есть ли способ указать заголовок, поэтому, когда пользователь нажимает «Сохранить», имя файла установлено правильно?

примечание: должно быть совместимо с большинством броузеров (IE6, IE7, FF, Chrome).

ответ

0

«сохранить его локально»: жесткий вызов, если вы хотите быть совместимым в браузерах. См. this post.

TiddlyWiki удается сделать это для некоторых браузеров (не уверен, какие из них он поддерживает), но только путем установки пользователем определенных файлов.

+0

Я на самом деле не пытаюсь написать его локально без вмешательства пользователя. Просто создайте диалоговое окно «сохранить файл», как если бы файл появился с сервера. – alumb

2

Вы можете отправить XML через XMLHttpRequest скрипту на своем сервере, чтобы создать файл xml, а затем установить window.location в местоположение вашего нового XML-файла. Им будет предложено сохранить его.

+0

+1. Или создайте XML на сервере, чтобы избежать поездки туда и обратно. –

+0

несчастливо, это невозможно. Это должна быть вся клиентская сторона. Я не контролирую серверную сторону. – alumb

Смежные вопросы