Звуковые оповещения (ajax)

3.19K
.
Fublin
# Folour (03.12.2014 / 23:34)
document.getElementById('sound').play();
я так понимаю это надо вставить прсто в функцию и всё ?

Ну тоест конечно присвоить там всей музыке еще и идентификатор sound чтоб звук бл тока когда есть что то новое...
.
# selemet (06.12.2014 / 21:48)
там просто,есть отдельный пхп файл в котором идёт запрос к бд на проверку новой почты
а ява скрипт реагирует на результат звуком
ну да.. тока в омем случае не работало почему то..
.
selemet, То есть, у меня все тоже самое в пхп файле почти, все работает...менял код джава скрипта на архивный и нифига не обновляет файл... мож опять что проглядел но вряд ли..
.
Folour
Think different
# Fublin (06.12.2014 / 21:48)
я так понимаю это надо вставить прсто в функцию и всё ?

Ну тоест конечно присвоить там всей музыке еще и идентификатор sound чтоб звук бл тока когда есть что то новое...
полный вариант, как у меня сделано
html:
<audio id="notify" style="display: none">
  <source src="<?=DIR ?>static/sounds/notify/notify.mp3" type='audio/mpeg; codecs="mp3"'>
  <source src="<?=DIR ?>static/sounds/notify/notify.ogg" type='audio/ogg; codecs="vorbis"'>
</audio>
...
<script>
  var args = {
    ...,
    notify: document.getElementById('notify'),
    ...
  };
</script>

js:
if($('#checkbox-play-notify').is(':checked'))  args.notify.play();
.
Folour
Think different
В твоем случае достаточно тега audio (из моего примера)
и в js в нужном месте
document.getElementById('notify').play();
//либо через jQuery
$('#notify').get(0).play();
.
Folour, пасибо, чота начал вкуривать..
.
Тока тут в архиве, дело втом что если оповещение уже есть то при переходе на следующую страницу его прихидтся ждать некоторое время которое написанно в интервале...я думаю то непрально..
вот в таком варианте есть и оповещения и при перезагрузки страницы раньше интервала оповещения показываются сразу..
То есть я думаю надо рассовать титл и звук по разным местам.. титл в функцию show а оповещения звуковые в функцию ожидания...хотя хз..
<div id="content"></div>
<script>

function show() 
{ 
$.ajax({ 
url: "../opov_web/", 
cache: false,
success: function(html){
$("#content").html(html);
} 
}); 
} 
$(document).ready(function(){ 
show(); 
setInterval('show()',25000); 
}); 
</script>
.
И опять же, это повторение звуков постоянных надоедает...а если пользователь просто не хочет отвечать на письма именно в данный момент... Обычно люди пока не помотрят что и как на сайте на почту не отвечают а тут постоянно в башке трынькает...
И не поможет я думаю если поставить в тег аудио чтоб звук был один раз птому что странички могут перегружаться...привязывать к сесси чтоли тока звук...хз...
.
Think different
Сравнивай время последнего запроса новых сообщений. Что-бы не повторялось.
.
The Fast, Secure and Professional - Yii2
Сегодня делал себе звуковое оповещение, получилось так.
Изначально вписываем счётчик сообщений если они есть средствами рhр. Далее ЯС вытягивает это значение и записывает в переменную. Ставим интервал на аякс запрос в котором проверяем если кол. сообщений полученых с аякс запроса > тех, что раннее записали в переменную тогда проигрываем звук и обновляем счётчик, если меньше просто обновляем счётчик, а если 0 то убираем счётчик. И на последок после каждой такой процедуры обновляем переменную которую писали вначале.
Всего: 101