Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не успевает выполниться функция 
:(
    Опции темы
zmaxik
Дата 12.8.2009, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



есть функция myfunc() которая должна сработать, до того как пользователь обновляет страницу

но так она не срабатывает, попросту не успевает

[/code]
Код

window.onbeforeunload = function() {
 myfunc();
}



работает только со спасительным alert('s') в конце. Когда он загружается, функция как раз успевает выполниться

но, как сами понимаете, требуется без него

спасибо
PM MAIL   Вверх
IDVsbruck
Дата 12.8.2009, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 7
Всего: 22



а) такого события, соторое бы сработало "в связи с перегрузкой", нет;
б) это неправильно и нелогично с любой точки зрения - пользователь хочет перегрузить и он должен иметь такую возможность сделать когда хочет;
в) если необходимы действия, которые накладывают ограничение на различия в контенте до и после перегрузки, необходимо предусматривать такие действия на сервере;
г) полноценно сделать то, что ты хочешь, можно только переписав браузер (то есть на отдельно взятой машине).

Так что трактуй задачу по-другому: чего ты хочешь добиться ...
PM MAIL   Вверх
zmaxik
Дата 13.8.2009, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



есть функция, которая должна выполниться когда пользователь нажмет покинуть или обновить страницу

успешную реализацию видел, но не помню где, да и у меня в примере рабочий вариант, но только с алертом.. а изначально вопрос был как сделать так, чтобы работало без алерта

Это сообщение отредактировал(а) zmaxik - 13.8.2009, 15:11
PM MAIL   Вверх
rabbitObject
Дата 13.8.2009, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 23.1.2007
Где: Беларусь

Репутация: 1
Всего: 1



zmaxik, попробуй так:

Код


document.body.onunload = function () {
    alert("!"); // тут любой код
}


или просто
Код

<script>
function myfunc() {
    // code
}
</script>
<body onunload="myfunc">

выполняется перед выгрузкой страницы (рефреш, переходе на другую страницу и даже при закрытии браузера) 
PM MAIL   Вверх
zmaxik
Дата 13.8.2009, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



первая функция не работает, вторая как и моя - через алерт
PM MAIL   Вверх
zmaxik
Дата 16.8.2009, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



что никто не знает больше?
PM MAIL   Вверх
rabbitObject
Дата 17.8.2009, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 23.1.2007
Где: Беларусь

Репутация: 1
Всего: 1



zmaxik, можно код посмотреть?
PM MAIL   Вверх
zmaxik
Дата 18.8.2009, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



вот часть кода

Код

function myfunc(){
    var params = "action=lalala";
    var Ajax = new Ajax.Request(
    "/index.php", 
    {
        method: 'post', 
        parameters: params, 
        onComplete: isSaved
    });
}

window.onbeforeunload = function() {
 myfunc();
}

PM MAIL   Вверх
zmaxik
  Дата 20.8.2009, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



???
PM MAIL   Вверх
rabbitObject
Дата 20.8.2009, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 23.1.2007
Где: Беларусь

Репутация: 1
Всего: 1



попробуй использовать синхронный ajax вызов, чтобы дождаться ответа сервера.

PM MAIL   Вверх
zmaxik
  Дата 20.8.2009, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



сорри, но я новичок))
PM MAIL   Вверх
zmaxik
Дата 21.8.2009, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



как мне получить ответ от сервера и с помощью него сделать так чтобы функция выполнилась?
PM MAIL   Вверх
zmaxik
Дата 24.8.2009, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



без апов никто не ответит чтоли? :(
PM MAIL   Вверх
bars80080
Дата 24.8.2009, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



да ответили бы давно, если бы вопрос был задан нормально.

прочитал всё что написано выше, и у меня сложилось впечатление, что вы хотите регистрировать на сервере момент, когда пользователь покидает сайт.

так ли?
PM MAIL WWW   Вверх
zmaxik
  Дата 24.8.2009, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



да, именно так
PM MAIL   Вверх
bars80080
Дата 24.8.2009, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



вот видите, как оказывается можно формулировать вопросы. всего одна строчка, а выражает истинную суть проблемы. тогда бы вам не писали десять маловразумительных постов, а сразу бы сказали, что 100%-го способа реализовать это не существует из-за принципа отношений клиент-сервер. практически всегда это строится (и на этом форуме тоже) следующим образом. при посещении каждому пользователю прописывается время в БД его последнего посещения, и при показе пользователя просто просчитываете, как давно это было. на этом форуме статус on-line присваивается пользователю, если он был здесь не более 15-ти минут назад.
так делается фактически везде

если же мы говорим о чатах, и прочих специфических системах, то они занимаются тем, что постоянно посылают запросы на сервер.
на обычном сайте это реализуется аяксом, в разделах javascript есть достаточно тем про то как отсылать с его помощью запросы.
однако, я бы за такое руки отрывал, потому как дорожу своим трафиком, и всякий раз просматриваю, кто это без моего ведома сосёт интернет. потому, такой штукой почти никто нигде не балуется
PM MAIL WWW   Вверх
zmaxik
  Дата 24.8.2009, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



вот именно потому что не хочется интервально отправлять данные на сервер, и пытаюсь сделать этот скрипт
Вы, bars80080, мне опять ничего нового не открыли

вопрос был, можно как-нибудь сделать так, чтобы функция успела выполниться вот и всё
хотелось бы выслушать других, особенно rabbitObject
спасибо
PM MAIL   Вверх
bars80080
Дата 24.8.2009, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Цитата(zmaxik @  24.8.2009,  18:11 Найти цитируемый пост)
мне опять ничего нового не открыли

значит плохо читаете


Цитата(zmaxik @  24.8.2009,  18:11 Найти цитируемый пост)
опрос был, можно как-нибудь сделать так, чтобы функция успела выполниться вот и всё

вторая строчка, разжёвываю:
никаким способом вы не сумеете создать 100%-ный способ (а по прикидкам, даже хотя бы 70%), который позволял бы вам реализовать выполнение некоторого события, когда пользователь закрывает браузер.
не те технологии, понимаете?
PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0940 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.