Я хотел бы создать XML-документ на JavaScript, а затем отобразить диалоговое окно сохранения.
- Это нормально, если они должны нажать, прежде чем может произойти сохранение.
- Это * не * нормально, если я * должен * использовать IE для достижения этой цели (мне даже не нужно его поддерживать). Однако Windows является обязательной платформой (поэтому Firefox или Chrome являются предпочтительными браузерами, если я могу сделать это только в одном браузере).
- Это * не * хорошо, если мне нужен веб-сервер. Но, наоборот, я не хочу требовать, чтобы JavaScript запускался только для локального файла, то есть повышенных привилегий - если это возможно. То есть я хотел бы запускать локально или на * статическом * хосте. Но только на месте все в порядке.
- Это нормально, чтобы наклониться назад, чтобы сделать это. Файл не будет очень большим, но доступ к Интернету может быть или нет, быть ненадежным или вообще отсутствовать - см. (3).
Пока единственные идеи, которые я видел, - это сохранить XML в iframe и сохранить этот документ - но кажется, что вы можете сделать это только в IE? Кроме того, чтобы я мог создать URI данных и поместить его в ссылку. Я боюсь, что он просто откроет файл XML в окне, а не предложит пользователю сохранить его.
Я знаю, что если мне потребуется, чтобы JavaScript был локальным, я могу повысить привилегии и просто сохранить файл напрямую (или, надеюсь, вызвать диалоговое окно сохранения). Однако я бы предпочел решение, в котором мне не требуются повышенные привилегии (даже решение только для Firefox 3.6).
Я прошу прощения, если это оскорбляет чью-либо чувствительность (например, не поддерживает каждый браузер). Я в основном хочу написать автономное приложение, и Javascript / HTML / CSS, кажется, лучший кандидат, учитывая сложность требований и доступное время. Однако у меня есть единственное требование - сохранять данные, которые необходимо преодолеть, прежде чем я смогу выбрать эту линию разработки.