Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS: AJAX / 8 сообщений из 8, страница 1 из 1
16.06.2008, 13:21
    #35374385
ssadmn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS: AJAX
день добрый всем.
в javascript не копенгаген, поэтому прошу помощи...

есть страничка...в ней функция, в которой вроде этого (имена и переменные в коде не натуральные)
Код: plaintext
1.
2.
...
var win = window.open('www', 'dic', 'width='+w+',height='+h);
win.execScript('this.onbeforeunload = function(){makeRequestR(\"www_1\");};', 'javascript');\n";

...здесь создаётся окно, в котором что-то происходит и его закрывают, перед закрытием производится запрос через ф-ию AJAX на серв...и AJAX не работает в этом случае...если же последнюю строку изменить на
Код: plaintext
1.
...
win.execScript('this.onbeforeunload = function(){makeRequestR(\"www_1\"); alert(123);};', 'javascript');\n";
то AJAX отрабатывает и потом вызывается диал. алерт.

вопрос: что не так я делаю или почему так происходит? может есть что-нить, что можно подставить вместо алерта или победить эту ошибку, если это ошибка...?

P.S. отдельно на стрницах через ту же ф-ию AJAX пашет без проблем.
...
Рейтинг: 0 / 0
16.06.2008, 13:26
    #35374399
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS: AJAX
AJAX - штука асинхронная, закрытие окна не будет ждать, когда она выполнится. Алерт как раз и помогает.
...
Рейтинг: 0 / 0
16.06.2008, 13:27
    #35374406
Vint_x
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS: AJAX
Когда используешь send ставь false, что бы выполнить синхронный запрос
...
Рейтинг: 0 / 0
16.06.2008, 13:36
    #35374428
ssadmn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS: AJAX
Vint_xКогда используешь send ставь false, что бы выполнить синхронный запрос
поставил...не помогает

ShSergeAJAX - штука асинхронная, закрытие окна не будет ждать, когда она выполнится. Алерт как раз и помогает.а есть способ обойти это?
окно из которого открывается это окно пусть будет X (это основное окно).
открываемое окно пусть будет Y.
в итоге нужно в окне Y что-то сделать и закрыть, перед закрытием в окне X изменяются какие-то данные (а именно <input type='text'> и text в <DIV> )...после этого нужно эти данные взять и послать через AJAX...может есть событие какое, чтобы перехватить когда в окне X появятся данные??
...
Рейтинг: 0 / 0
16.06.2008, 14:07
    #35374514
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS: AJAX
А сам реквест исполняется в окне Х или У? Что мешает на бефореунлоад окна У вызывать функцию с реквестом в окне Х, предварительно присвоив из У в Х какие-то переменные?
...
Рейтинг: 0 / 0
16.06.2008, 14:08
    #35374517
ssadmn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS: AJAX
Vint_xКогда используешь send ставь false, что бы выполнить синхронный запрос
спасибо за подсказку, но тока не в send, а в open...тогда работает :)
...
Рейтинг: 0 / 0
16.06.2008, 14:28
    #35374580
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS: AJAX
ssadmn
Код: plaintext
1.
...
win.execScript('this.onbeforeunload = function(){makeRequestR(\"www_1\");};', 'javascript');\n";

а что, более цивилизованных методов, чем execScript, не нашлось? Или Вы не принимаете в расчет существование не-ИЕ браузеров?
...
Рейтинг: 0 / 0
16.06.2008, 15:19
    #35374761
ssadmn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS: AJAX
illion
Код: plaintext
1.
...
win.execScript('this.onbeforeunload = function(){makeRequestR(\"www_1\");};', 'javascript');\n";
...Или Вы не принимаете в расчет существование не-ИЕ браузеров?
именно так, только IE.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS: AJAX / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]