[Ликбез]

Форма входа

Меню сайта



Скрипт для проверки наличия новых сообщений без перезагрузки
[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]
Тогда я ничего не понимаю...
Ткните носом в ошибку, что здесь не так? С этим кодом ничего не происходи, и никакого оповещения нету, даже окно не выскакивает... sad

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,
Ткните носом в ошибку, что здесь не так?

Здесь все так.
Возможно вы его вставляете не туда?
Добавляется он в самый низ шаблона, или в глобальный блок, например нижний.
Или же у вас просто нет личных сообщений.

Скрипт не открывает окошко если у вас нет НЕпрочитанных сообщений.

Установите, допустим, в шаблон Форум » Общий вид перед оператором
Code
</body>
.
И отправьте себе личное сообщение.

Что бы отправить самому себе сообщение, нужно просто изменить любую буквы в логине, с прописной на заглавную, например:
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?>   

и всё снова начинает работать...

Вот сейчас снова проведу эксперимент, возможно я с ума сошел...
Сейчас поставил этот код, отправил сообщение, просидел и даже сам страницу обновил!, но оповещения нет...

Захожу в сообщения, и смотрю, непрочитанное висит.


Вставляю снова первоночальный код (без звука), и окно снова появилось...


если не верите, могу предоставить пароль от админки...
но этот код не работаетт..

Сначало думал что конфликтует с чемто, поставил на других страницах и на форуме, но без вариантов...

Может вы скините в ЛС мне оригинал кода, который сидит здесь, я попробую вставить его... буду благодарен..
Прикрепления: 2839754.png (1.4 Kb) · 2204415.png (4.3 Kb)


Сообщение отредактировал 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 секунд.

Или скопируйте из прикрепления, там чистый код:
Прикрепления: tMessSound.txt (1.1 Kb)
[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,
Quote (multik_ucoz_ua, Пт, 03.08.2012, 13:22:03)
Подскажите, плиз, можно ли на ucoz-е сделать так, чтобы если пришло сообщение, то выскакивало не только оповещение о новом сообщении но и само сообщение (как в многих соц.сетях/например вконтакте/)?

Можно.


Полная версия сайта