Когда даже нет новых личных сообщений, звук сам по себе играет когда обновляешь страницу либо переходишь на другую... как исправить помогите пожалуйста..
сам скрипт..
Код
<?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://zornet.ru/Aben/ABGER/konvert.png',align:'left'},'<center>Уважаемый <b>$USERNAME$</b><br>Вам пришло '+s+n+'!</center><br><fieldset><legend>'+leg+'</legend>'+all.join("<br>")+'</fieldset>');}});setTimeout(getPM,10000)};getPM();</script> <audio autoplay> <source src="http://zornet.ru/Aben/ABGER/pm_sound.ogg"> <source src="http://zornet.ru/Aben/ABGER/pm_sound.mp3"> <source src="http://zornet.ru/Aben/ABGER/pm_sound.wav"> </audio> <?endif?>
Hanuz, здесь больше всего скрипт устарел, так как админ бар обновился и в нем идет уже эта функция, то здесь начались сбой. Сам не менял, но на сайте оповещение без звука установлено, но если на ссылках с этого сайта, то в большинстве этот скрипт изначально был проверен. И он не один, а может и этот, где в сети хотел оригинальное звучание найти.
тут стоит автоплей... если его убрать то звук перестает играть но и когда приходит новые лс.. можете чем то помочь с этим.. очень важный скрипт для моего сайта..
Kosten, тут дело совсем в другом - неправильно скрипт переписан был, что ранее рабочее сделали с неким "зловредом" даже. Вот этот материал, а в чём подвох - вот здесь можете почитать (проще говоря, неправильно прописаны\отсутствуют условные операторы). UPD.: это что касается логики проверки наличия личных сообщений (новых\непрочитанных)... и в данном случае вреда даже побольше будет, поскольку каждые 10 секунд проверяет нет ли нового ЛС. Ну и там в материале идёт ведь обсуждение, где дан стандартный uCoz-овский код на ЛС... и как-то наличие условного оператора в нём не смутило никого... то есть это как минимум в обновлённом варианте быть должно так:
В общем, в материале там тоже стоит обновить. UPD.2: Kosten, здесь наличие панели - вообще роли не играет... если бы оно играло роль, то на сайтах с локальной формой регистрации вообще у пользователей не было бы уведомления о ЛС, по такой логике (ведь там панели инструментов нет у пользователей). Это обычный get-запрос посылается, как и писал там... нужно дописать условных операторов и лучше не ставить 10000 ms (это посылает каждые 10 sec запрос, нет ли новых ЛС)... связка условного оператора по залогиненным с условным оператором на новые\непрочитанные ЛС - ограничивает количество запросов тем, что при просмотре страниц сайта будет при каждом обновлении страницы вестись проверка на наличие новых\непрочитанных ЛС... а когда таковые есть, то и будет после идти get-запрос (это удобно тем, что не обновляя страницу идёт проверка, допустим, когда идёт активная переписка в ЛС... и ясно же, что частые запросы, когда активной переписки нет - только во вред будет). Вот поправил, должно работать лучше:
Код
<?if($USER_LOGGED_IN$ and ($IS_NEW_PM$ or $UNREAD_PM$>0))?><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]};var timerId=setTimeout(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://zornet.ru/Aben/ABGER/konvert.png',align:'left'},'<center>Уважаемый <b>$USERNAME$</b><br>Вам пришло '+s+n+'!</center><br><fieldset><legend>'+leg+'</legend>'+all.join("<br>")+'</fieldset>')}});timerId=setTimeout(getPM,30000)},3000); </script><?if($IS_NEW_PM$)?> <audio autoplay> <source src="http://zornet.ru/Aben/ABGER/pm_sound.ogg"> <source src="http://zornet.ru/Aben/ABGER/pm_sound.mp3"> <source src="http://zornet.ru/Aben/ABGER/pm_sound.wav"> </audio><?endif?><?endif?>
Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно. Бесплатное оказание помощи в ответах на "Вопросы про uCoz".
Сообщение отредактировал -SAM- - Суббота, 22 Июня 2019, 05:34
-SAM-, всегда, чем больше всяких навесов, тем или медленнее или выходит из строя. Вообще думал, что с новой панелью от такого ЛС отказались, так как в админ баре скромное и понятное идет. Это здесь оставил, просто посчитал, что старое еще хорошо послужит.