Chrome: JavaScript window.open для сохранения - PullRequest
8 голосов
/ 08 марта 2012

Представьте себе FTP-клиент, написанный на HTML и JavaScript.Эта часть работает.Но было бы неплохо, если бы пользователь мог «скопировать листинг» в буфер обмена.Оказывается, что в JS не так просто работать с буфером обмена (кроме того, списки могут быть огромными).Поэтому лучше открыть окно с сгенерированным списком, тогда пользователь может выбрать «Копировать пасту» или «Сохранить страницу на диск».

В настоящее время я делаю:

    my_window = window.open("", "Copy List");
    my_window.document.write('<pre&gt\n'+string+'&lt/pre&gt');
    my_window.document.close();

Что работает,Я получаю новую вкладку, и список, сгенерированный мной в виде «строки», хорошо отображается.

Но Chrome отключает / не отображает параметр «Сохранить страницу».Было бы хорошо, если бы пользователь мог сохранить страницу (html или txt).Какая магия требуется, чтобы открыть окно / вкладку и позволить им сохранить содержимое?

Поскольку мы используем WebSockets (key1 / key2), это работает только в Chrome, другие браузеры не нужны.

1 Ответ

2 голосов
/ 28 января 2014

Путь после факта, но вы можете использовать для этого URI данных:

window.open("data:text/plain;base64,"+btoa(theCode))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...