Проиграть звук в чате по приходу личного сообщения
Есть список элементов с id ('0private') при появлении элемента с больший id (0-9999999) установить переменную flag в значение ON, теперь скажу что я хочу сделать.. есть чат в котором я хочу сделать звуковое оповещение по приходу личного сообщения... пробую примерно вот так
<script> flag_audio="on", max="0private", found=0; function Update_chat() { $.ajax({ url: 'text.php', data: 'update_text=1', timeout: '4000', type: 'GET', success: function(response) { document.getElementById('chat').innerHTML=response; if(flag_audio == "on") // если выбран переключатель, то проиграть звук play_sound(); } }); } function play_sound() { for(var i=0; i < document.getElementById('chat').childNodes.length; i++) { count=i+"private"; if(max < count && document.getElementById(count) != undefined) { max=count; found=1; } } if(found){ //проверка на то что бы проиграло только 1 раз document.getElementById('play_private').play(); found=0; } } </script> <audio id='play_private'> <source src="../sounds/private.ogg" type="audio/ogg" /> </audio> <div id='chat'> <div id='1private'>123</div> <div id='2private'>123</div> <div id='3private'>123</div> <div>some text</div> <div>some text2</div> </div> |
Up :nono:
|
В тех статьях упор на воспроизведение(остановку) звука... а у меня проблема вроде с тем как вычислить число элементов внутри 'chat' и как узнать какой из них 'новый'.... да и писал я в надежде что может кто то подскажет более простой и гениальный способ))
|
подскажите как сделать выражение такого плана выполняемым:
пробовал даже с toString() <script> var a = "111private".match(/\d+/); var b = "35private".match(/\d+/); if( a > b ) alert("ok") </script> |
var reg_exp=/(\d+)/; var a = "111private".match(reg_exp); var b = "35private".match(reg_exp); if( (a)&& (b) && ( parseInt(a[1]) > parseInt(b[1]) ) ) {alert("ok");} |
Пытаюсь проверить существование элемента по id вот таким способом
if(document.getElementById(id)) но всегда в ответ null(независимо есть этот элемент на странице или его нет)... хотя писали что должно работать...(или в новых версиях браузеров это уже не работает) |
Если null, значит нет элемента.
|
Да его не было!! точнее тег был) но с другим id
|
Цитата:
Также, скрипт проверки или сам элемент - не в фрейме ли? |
Значит на момент проверки его нет.
|
Часовой пояс GMT +3, время: 00:39. |