Загрузите двоичный файл, не инициировав onbeforeunload

Я хочу начать загрузку файла для пользователя, когда он нажимает на ссылку, но я имею onbeforeunload обработчик, что я не хочу быть вызванным, когда загрузка начинается. К загрузкам я в настоящее время имею <a> с href набор к расположению файла, но нажатию на него приводит к onbeforeunload будучи вызванным в Chrome (не в FF, хотя).

Я знаю, что могу установить частный флаг и регистрировать это onbeforeunload обработчик, но там некоторый способ начать загрузку с помощью ajax? Я все еще хочу, чтобы пользователь видел обычные диалоговые окна, когда они загружают файл (Откройтесь/Сохраните и т.д.).

Идеи?

10
задан psychotik 16 March 2010 в 04:27
поделиться

1 ответ

Я бы предположил, что использование атрибута target в ссылке может помочь.

<a href="http://www.example.com/somefile.zip" target="_blank">download</a>

Не будет проверять (если не использовать frameet doctype), но может сработать... Он создаст новую вкладку или окно и затем загрузит файл (если заголовок http говорит, что он должен), но он может оставить новые вкладки/окна открытыми, или он может закрыть их после сохранения...

С другой стороны, я думаю, что наличие обработчика onbeforeunload, который иногда не нужно запускать, звучит подозрительно, зачем он вообще нужен?

.
4
ответ дан 3 December 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: