Скрипт для проверки наличия новых сообщений без перезагрузки
|
|
[16] Shaman [21.06.2012, 11:36] |
likbezz, ладно, спасибо за помощь, вот только ваша версия кода не работает... проверять нужно, прежде чем чтото советывать. всего хорошего. |
|
[17] likbezz [21.06.2012, 12:06] |
Shaman, проверять нужно, прежде чем чтото советывать Да, спасибо, я в курсе, по этому, скрипт проверен и работает в браузерах: Мозилла, Хром, Опера, ИЕ, Сафари и SeaMonkey. В остальных, извините, не проверял, но думаю тоже работать будет.
☑ Пример. |
|
[18] Diana [21.06.2012, 12:11] |
likbezz, Какая версия не работает? У меня уже давно твой скрипт на всех сайтах стоит и всё работает. С ним что возникли проблемы какие то? |
|
[19] likbezz [21.06.2012, 16:16] |
Diana, Какая версия не работает? Что, простите? У меня уже давно твой скрипт на всех сайтах стоит и всё работает. Я знаю что работает, но вот у пользователя Shaman, что-то не очень, видимо.
С ним что возникли проблемы какие то? У меня - нет) Никаких проблем) |
|
[20] Diana [21.06.2012, 16:28] |
likbezz, Уфф!!! Ну слава богу. Я уже после всех этих юкозовских перестроек, всего боюсь( Чуть ли не каждый день - зашел на сайт а там сюрприз. То одно слетело то другое. |
|
[21] Shaman [21.06.2012, 22:53] |
Тогда я ничего не понимаю... Ткните носом в ошибку, что здесь не так? С этим кодом ничего не происходи, и никакого оповещения нету, даже окно не выскакивает...
Code <?if($USER_LOGGED_IN$)?><script type="text/javascript">function tMess(n){var a=[' новое сообщение',' новых сообщения',' новых сообщений'];return a[n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2]}; function getPM(){$.get("/index/14",function(a){var s=$("b.unread",a).size();if (s) {var n=tMess(s),all=[],leg=(s==1)?'Сообщение':'Сообщения';$("b.unread",a).each(function(){var title = $(this).html(), href = $(this).parent().attr("href"); all.push('» <a href="'+href+'">'+title+'</a>');});all.push('<object style="width: 1px; height: 1px; position: absolute; top: 0px; left: 0px;" id="objNewPm" type="application/x-shockwave-flash" data="http://likbezz.ru/_theme1/_st/sound/icq_new_pm.swf" height="1" width="1"><param name="wmode" value="transparent"><param name="movie" value="http://likbezz.ru/_theme1/_st/sound/icq_new_pm.swf"></object>');}); new _uWnd('ls','Новые ЛС',250,120,{icon:'http://javascript.ucoz.net/images/message.png',align:'left'},'<center>Вам пришло '+s+n+'!</center><br><fieldset><legend>'+leg+'</legend>'+all.join("<br>")+'</fieldset>');}});setTimeout(getPM,10000)};getPM();</script><?endif?> |
|
[22] likbezz [21.06.2012, 23:48] |
Shaman, Ткните носом в ошибку, что здесь не так? Здесь все так. Возможно вы его вставляете не туда? Добавляется он в самый низ шаблона, или в глобальный блок, например нижний. Или же у вас просто нет личных сообщений.
Скрипт не открывает окошко если у вас нет НЕпрочитанных сообщений.
Установите, допустим, в шаблон Форум » Общий вид перед оператором . И отправьте себе личное сообщение.
Что бы отправить самому себе сообщение, нужно просто изменить любую буквы в логине, с прописной на заглавную, например: Shaman, а отправляете shaman.
Если все правильно через 10 секунд увидите окошечко с собщением о новом сообщении (каламбур). ... Как-то так. |
|
[23] Shaman [22.06.2012, 00:15] |
Та не, я это всё проверил, вставляю правильно, на место рабочего варианта, и сам отправляю себе сообщения с другого профиля, при этом намерено захожу в сообщения непрочитаные висят, окно не выскакивает. Тутже ставлю на место вашего варианта первоночальный (без звука), Code <?if($USER_LOGGED_IN$)?><script type="text/javascript">function tMess(n){var a=[' новое сообщение',' новых сообщения',' новых сообщений'];return a[n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2]}; function getPM(){$.get("/index/14",function(a){var s=$("b.unread",a).size();if (s) {var n=tMess(s),all=[],leg=(s==1)?'Сообщение':'Сообщения';$("b.unread",a).each(function(){var title = $(this).html(), href = $(this).parent().attr("href"); all.push('» <a href="'+href+'">'+title+'</a>');}); new _uWnd('ls','Новые ЛС',250,120,{icon:'http://javascript.ucoz.net/images/message.png',align:'left'},'<center>Вам пришло '+s+n+'!</center><br><fieldset><legend>'+leg+'</legend>'+all.join("<br>")+'</fieldset>');}});setTimeout(getPM,10000)};getPM();</script><?endif?> и всё снова начинает работать...
Вот сейчас снова проведу эксперимент, возможно я с ума сошел... Сейчас поставил этот код, отправил сообщение, просидел и даже сам страницу обновил!, но оповещения нет...
Захожу в сообщения, и смотрю, непрочитанное висит.
Вставляю снова первоночальный код (без звука), и окно снова появилось...
если не верите, могу предоставить пароль от админки... но этот код не работаетт..
Сначало думал что конфликтует с чемто, поставил на других страницах и на форуме, но без вариантов...
Может вы скините в ЛС мне оригинал кода, который сидит здесь, я попробую вставить его... буду благодарен..
Сообщение отредактировал Shaman - Пятница, 22.06.2012, 00:16 |
|
[24] likbezz [22.06.2012, 00:33] |
Shaman, и всё снова начинает работать... Вот как? Попробуйте вот так, вместо скрипта. Code <?if($USER_LOGGED_IN$)?><script type="text/javascript" src="http://likbezz.ru/_source/_js/ext/tMessSound.js"></script><?endif?> Дело в том что парсер ставит переносы строк и пробелы где попало. возможно где-то не там. Если будет работать скачаете себе, и перепишите ссылку на скрипт. Время установлено 60 секунд.
Или скопируйте из прикрепления, там чистый код:
|
|
[25] Shaman [22.06.2012, 01:04] |
Попробуйте вот так, вместо скрипта. Так сразу заработало!)) Спасибо огромное за помощь, реально двое суток провозился))) только небольшие изменения произошли, лс начало открыватся в новом окне, а мне необходимо в этом же окне или фрейме. можете както изменить? Извените если надоел со своими проблемами. ))) |
|
[26] likbezz [22.06.2012, 01:09] |
Shaman, только небольшие изменения произошли, лс начало открыватся в новом окне, а мне необходимо в этом же окне или фрейме. Вот эту строку найдите в скрипте: Quote (Code) pm.push('» <a href="'+href+'" target="_blank">'+a+'</a>') Выделенное: target="_blank" просто удалите - сотрите - будет открываться в том же окне. |
|
[27] Shaman [22.06.2012, 01:21] |
likbezz, Спасибо, перезалил себе и изменил "_blank" на "_self" всё заработало как нужно. Ещё раз спасибо что провозились со мной целый день)) |
|
[28] likbezz [22.06.2012, 01:26] |
Shaman, и изменил "_blank" на "_self" всё заработало как нужно. Можно и так) а можно просто убрать _blank - по умолчанию всегда _self ) Да ничего, и не целый день ) а так, чуть чуть) |
|
[29] multik_ucoz_ua [03.08.2012, 13:22] |
Подскажите, плиз, можно ли на ucoz-е сделать так, чтобы если пришло сообщение, то выскакивало не только оповещение о новом сообщении но и само сообщение (как в многих соц.сетях/например вконтакте/)? |
|
[30] likbezz [03.08.2012, 13:29] |
multik_ucoz_ua, Подскажите, плиз, можно ли на ucoz-е сделать так, чтобы если пришло сообщение, то выскакивало не только оповещение о новом сообщении но и само сообщение (как в многих соц.сетях/например вконтакте/)? Можно. |
|