Проиграть звук в чате по приходу личного сообщения
Есть список элементов с 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, время: 11:00. |