Итак, в моем приложении пользователь может экспортировать свою работу в excel.
Он работает, открывая всплывающее окно (window.open(...)
), которое затем родитель записывает данные в форму, а затем отправляет форму обратно на сервер.
Сервер создает файл и передает его обратно во всплывающее окно, где появляется диалоговое окно загрузки. Он также пишет файл cookie с токеном.
Этот токен уникален для каждого всплывающего окна загрузки, и когда окно видит этот файл cookie (регулярно проверяя), он закрывается с помощью window.close()
, когда пользователь получил запрос на загрузку файла.
Это отлично работает в IE7 и IE8
Однако, поскольку IE9 решил избавиться от диалогового окна и заменить его инфобаром, окно закрывается, прежде чем пользователь сможет предпринять действия для загрузки, и если они нажмут на него, они никогда не узнают, когда это произойдет, не открывая загрузки вручную.
В качестве временного решения всплывающее окно больше не закрывается.
Тем не менее, я хочу, чтобы иметь возможность закрыть его для пользователя, как только их загрузка начала полностью бесполезно для них.
Как я могу закрыть это окно и все еще иметь возможность предупредить пользователя в IE9, что их загрузка завершена и может быть открыта?