|
|
|
Javascript POST Window.close нестандартная ситуация
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, есть небольшой продукт. Написан давно, ногами, с кучей всего за что сегодня бьют ногами, НО работает, и вопрос о переработке его даже не рассматривается. Есть там один кусок. который не работает у некоторых пользователей (WinXP IE8) Задача такая - при воде неправильных данных, открывается дополнительное окно (windows open....) куда пишется корректировка, при нажатии сохранения - даные посылаются POST и окно закрывается. Уже пробовали на виртуалках повторить эту ошибку. Начал тестировать у пользователя, так при включеном F12 данные сохраняются. Решил что данные не успевают сохраниться в буффер. Поставил паузу в 1сек. перед закрытием, но это не помогло. закрывается оено так.. Код: javascript 1. Народ посоветуйте что делать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2014, 11:49 |
|
||
|
Javascript POST Window.close нестандартная ситуация
|
|||
|---|---|---|---|
|
#18+
Сталкивался с такой бедой, но не уверен, что смогу вам полноценно помочь. Да, всё выглядит так, что ИЕ закрывает окно, несмотря на выполняющуюся отправку данных (которая вообще-то должна быть синхронной, и в нормальных браузерах она именно такая), и данные банально не успевают отправиться. В моём случае я решал вопрос принудительной синхронной отправкой (т.е. через установку соответствующего флажка в XmlHttpRequest.open()), если это происходит в onunload или просто перед закрытием. Но отправку через form.submit() вы так не сконфигурируете. Ждать секунду -- это, конечно, круто, но кто будет гарантировать, что секунды хватит? ЗЫ: А "не помогло" у вас потому, что ваш таймаут -- не пауза перед закрытием, а фиг знает что. setTimeout(function() {self.close();}, 1000) я бы еще понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2014, 13:10 |
|
||
|
Javascript POST Window.close нестандартная ситуация
|
|||
|---|---|---|---|
|
#18+
The_ShadoWЗЫ: А "не помогло" у вас потому, что ваш таймаут -- не пауза перед закрытием, а фиг знает что. setTimeout(function() {self.close();}, 1000) я бы еще понял. Именно так я и сделал изначально.... Но в данном виде окно почему то не закрывается. Даже не могу понять почему... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2014, 16:14 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38697006&tid=1446901]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
160ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 424ms |

| 0 / 0 |
