Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Узнать состояние окна загрузки браузера (https://javascript.ru/forum/jquery/30741-uznat-sostoyanie-okna-zagruzki-brauzera.html)

dartlenin 14.08.2012 10:55

Узнать состояние окна загрузки браузера
 
Я хочу отправить пользователю 2 файла последовательно, использую setTimeout("__doPostBack('Button2', 'OnClick')", 3000) чтобы инициировать постбэк для загрузки 2го файла через 3 сек после выдачи первого. Если я успеваю решить что сделать с 1 файлом, до того, как придет 2ой, все работает норм, но если ничего не делать, то 1ый файл теряется, т.е. окно с предложением о загрузке (там где кнопки открыть, сохранить, отмена) перекрывается новым окном, я убираю 2ое окно, а на 1ом уже недоступна кнопка открыть ( можно сохранить, но пишет что файл поврежден), так что я хочу синхронизироваться с событием закрытия окна загрузки. Файлы формируются динамически в процессе выполения кода, и сущетсвуют в виде объектов byte[] которые выдаются в response, так что я не знаю как поместить их в 1 зип. В любом случае будет лучше, если кто нибудь знает ответ на основной вопрос) Заранее спасибо.

Deff 14.08.2012 13:56

dartlenin,
Там при всплытии модальных окон - теряется фокус на body и т.д
Вот после получения фокуса - запускайте таймер на второй файл
Т.е можно
перед запуском первого файла установить через таймер в 200 - 800ms атрибут onfocus на body в котором, снятие атрибута и запуск второго файла (

dartlenin 14.08.2012 15:36

спасибо большое за ответ, но что-то не получается. Я пишу так:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript">

    function newdoc() {
        $(document).one("focusout", function () {
                    location.assign('321.docx')
        })

        location.assign('123.docx')
    }

</script>
</head>
<body id="id1">
<input type='button' onclick="newdoc()" value='but'/>
</body>
</html>


Почему то это событие срабатывает когда кнопка теряет фокус, а не документ. Соотвественно focusin и focus работают аналогично. Пробовал выбирать body по id1 - тот же эффект. Пробовал через attr назначать атрибут onfocus - вообще ничего не назначилось.

Deff 14.08.2012 15:50

dartlenin,
FuncFile2() {
  document.body.setAttribute("onfocus","");
   setTimeout("__doPostBack('Button2', 'OnClick')", 2000) //Вызов второго
}
 
 setTimeout('document.body.setAttribute("onfocus","FuncFile2()")',800);//Cтроку вставляем в запуск первого файла

dartlenin 14.08.2012 15:54

а все, поменял document на window, focusout на focus , заработало вроде


Часовой пояс GMT +3, время: 02:31.