У меня была подобная ситуация (но я не хотел вообще сдаваться). Я создаю безопасную версию веб-страницы с использованием Javascript, который я хочу, чтобы пользователь загружался как текстовый файл (в моем случае значения, разделенные запятой). Думаю, data:
URI могут помочь здесь.
//construct the csvOutput in Javascript first
var popup = window.open("data:application/octet-stream," + encodeURIComponent(csvOutput), "child");
//no need to document.write() anything in the child window
В Firefox, это не всплывающее окно, даже, просто запрашивает у пользователя, если они хотят, чтобы сохранить файл и сохранить его в виде файла .part. Не совсем идеальный, но, по крайней мере, он сохраняет файл без появления ненужного окна.
В качестве альтернативы, можно использовать текст/обычный тип MIME:
//construct the csvOutput in Javascript first
var popup = window.open("data:text/plain;charset=utf-8," + encodeURIComponent(csvOutput), "child");
В Firefox это поп открыть новое окно, но это по умолчанию сохраняются в виде ASCII текста, без каких-либо хлама из родительского окна или любой строки. Вероятно, это то, что я буду использовать.
Похоже, что это не работает в IE.IE 8 - единственная версия, которая поддерживает URI data:
, и она имеет series of restrictions, где она может быть использована. Для IE вы можете посмотреть execCommand.
Благодаря этому tek-tip thread и Wikipedia article on the data URI scheme.
fyi - вы должны быть в состоянии отредактировать свой вопрос ... – garrow
Спасибо. В тот день мой браузер был просто тупой. – kraryal