Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: для новичков > не успевает выполниться функция |
Автор: zmaxik 12.8.2009, 16:10 | ||
есть функция myfunc() которая должна сработать, до того как пользователь обновляет страницу но так она не срабатывает, попросту не успевает [/code]
работает только со спасительным alert('s') в конце. Когда он загружается, функция как раз успевает выполниться но, как сами понимаете, требуется без него спасибо |
Автор: IDVsbruck 12.8.2009, 20:13 |
а) такого события, соторое бы сработало "в связи с перегрузкой", нет; б) это неправильно и нелогично с любой точки зрения - пользователь хочет перегрузить и он должен иметь такую возможность сделать когда хочет; в) если необходимы действия, которые накладывают ограничение на различия в контенте до и после перегрузки, необходимо предусматривать такие действия на сервере; г) полноценно сделать то, что ты хочешь, можно только переписав браузер (то есть на отдельно взятой машине). Так что трактуй задачу по-другому: чего ты хочешь добиться ... |
Автор: zmaxik 13.8.2009, 15:07 |
есть функция, которая должна выполниться когда пользователь нажмет покинуть или обновить страницу успешную реализацию видел, но не помню где, да и у меня в примере рабочий вариант, но только с алертом.. а изначально вопрос был как сделать так, чтобы работало без алерта |
Автор: rabbitObject 13.8.2009, 15:27 | ||||
zmaxik, попробуй так:
или просто
выполняется перед выгрузкой страницы (рефреш, переходе на другую страницу и даже при закрытии браузера) |
Автор: zmaxik 13.8.2009, 19:43 |
первая функция не работает, вторая как и моя - через алерт |
Автор: zmaxik 16.8.2009, 18:04 |
что никто не знает больше? |
Автор: rabbitObject 17.8.2009, 11:26 |
zmaxik, можно код посмотреть? |
Автор: zmaxik 18.8.2009, 09:28 | ||
вот часть кода
|
Автор: zmaxik 20.8.2009, 10:26 |
??? |
Автор: rabbitObject 20.8.2009, 13:17 |
попробуй использовать синхронный ajax вызов, чтобы дождаться ответа сервера. |
Автор: zmaxik 20.8.2009, 19:14 |
сорри, но я новичок)) |
Автор: zmaxik 21.8.2009, 09:12 |
как мне получить ответ от сервера и с помощью него сделать так чтобы функция выполнилась? |
Автор: zmaxik 24.8.2009, 11:52 |
без апов никто не ответит чтоли? :( |
Автор: bars80080 24.8.2009, 14:05 |
да ответили бы давно, если бы вопрос был задан нормально. прочитал всё что написано выше, и у меня сложилось впечатление, что вы хотите регистрировать на сервере момент, когда пользователь покидает сайт. так ли? |
Автор: zmaxik 24.8.2009, 17:00 |
да, именно так |
Автор: bars80080 24.8.2009, 17:14 |
вот видите, как оказывается можно формулировать вопросы. всего одна строчка, а выражает истинную суть проблемы. тогда бы вам не писали десять маловразумительных постов, а сразу бы сказали, что 100%-го способа реализовать это не существует из-за принципа отношений клиент-сервер. практически всегда это строится (и на этом форуме тоже) следующим образом. при посещении каждому пользователю прописывается время в БД его последнего посещения, и при показе пользователя просто просчитываете, как давно это было. на этом форуме статус on-line присваивается пользователю, если он был здесь не более 15-ти минут назад. так делается фактически везде если же мы говорим о чатах, и прочих специфических системах, то они занимаются тем, что постоянно посылают запросы на сервер. на обычном сайте это реализуется аяксом, в разделах javascript есть достаточно тем про то как отсылать с его помощью запросы. однако, я бы за такое руки отрывал, потому как дорожу своим трафиком, и всякий раз просматриваю, кто это без моего ведома сосёт интернет. потому, такой штукой почти никто нигде не балуется |
Автор: zmaxik 24.8.2009, 18:11 |
вот именно потому что не хочется интервально отправлять данные на сервер, и пытаюсь сделать этот скрипт Вы, bars80080, мне опять ничего нового не открыли вопрос был, можно как-нибудь сделать так, чтобы функция успела выполниться вот и всё хотелось бы выслушать других, особенно rabbitObject спасибо |