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