Я хочу начать загрузку файла для пользователя, когда он нажимает на ссылку, но я имею onbeforeunload
обработчик, что я не хочу быть вызванным, когда загрузка начинается. К загрузкам я в настоящее время имею <a>
с href
набор к расположению файла, но нажатию на него приводит к onbeforeunload
будучи вызванным в Chrome (не в FF, хотя).
Я знаю, что могу установить частный флаг и регистрировать это onbeforeunload
обработчик, но там некоторый способ начать загрузку с помощью ajax? Я все еще хочу, чтобы пользователь видел обычные диалоговые окна, когда они загружают файл (Откройтесь/Сохраните и т.д.).
Идеи?
Я бы предположил, что использование атрибута target в ссылке может помочь.
<a href="http://www.example.com/somefile.zip" target="_blank">download</a>
Не будет проверять (если не использовать frameet doctype), но может сработать... Он создаст новую вкладку или окно и затем загрузит файл (если заголовок http говорит, что он должен), но он может оставить новые вкладки/окна открытыми, или он может закрыть их после сохранения...
С другой стороны, я думаю, что наличие обработчика onbeforeunload, который иногда не нужно запускать, звучит подозрительно, зачем он вообще нужен?
.