Инициирование загрузки с помощью javascript

Мне нужно динамически инициировать загрузку с помощью javascript. Я видел, как люди делают это, делая что-то вроде

window.open("some url", "Download");

но мне нужно сделать это, не изменяя URL-адрес текущей страницы (и не используя фреймы, если я могу помочь ей, или создать и уничтожить фрейм динамически). Кто-нибудь знает, как это сделать?

Ответы

Ответ 1

Вам не нужно window.open(). Это просто уродливое и склонное к всплывающим блокам (где у вас нет контроля над клиентами). Просто window.location достаточно, если заголовок ответа запрошенного URL загрузки содержит Content-Disposition: attachment. Это не изменит текущий URL-адрес в адресной строке браузера или текущей страницы, а просто появится диалог "Сохранить как".

например.

window.location = 'http://download.winzip.com/winzip145.exe';

Ответ 2

Вы на правильном пути, вам нужно заставить браузер запрашивать новую "страницу", даже если эта страница является файлом.

Вы можете попробовать одно из ключевых слов для второго параметра window.open() - like _blank - должен быть какой-то способ заставить Chrome открыть новый URL-адрес...