Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Звук при смене html (https://javascript.ru/forum/misc/58563-zvuk-pri-smene-html.html)

ryabov 29.09.2015 11:02

Звук при смене html
 
Привет ребята!

Я знаю здесь много людей знающих. Есть такой вопрос. Может у когото есть такой скриптик, чтоб вставить его в tempermonkey и он при смене html на определенной странице издавал звук. Есть подобный скрипт,

if (location.hostname == 'www.999dice.com') {

function soundz() {
window.audio = {};
audio["alert"] = new Audio();
audio["alert"].src = "http://2wav.890m.com/2.wav";
window.audio["alert"].play();
return false;
}
flag_last_button = true;
function AlertButton() {
// script by 6yPaTuHka
BtcRainButton = $(".Rain").text();
checkRainMax = (/BTC/i.test(BtcRainButton));
if (checkRainMax && flag_last_button)
{
soundz();
flag_last_button = false;
}
if (!checkRainMax)
{
flag_last_button = true;
}
}
$('#ChatTab').bind('DOMSubtreeModified', AlertButton);
}



Но он расчитан на конкретно появление определённого объекта.

А мне нужно чтоб издавал звук при появлении любого нового html тега на странице.


Думаю для людей знающих это как два пальца. Но я в этом не чё не понимаю. Подскажите мне если не сложно.

Заранее благодарю!

sortarray 29.09.2015 16:40

Цитата:

Сообщение от ryabov
чтоб издавал звук при появлении любого нового html тега на странице.

<html>
<head>
<style>
  
</style>
</head>
<body>


<button id="b"> push element </button>

<script>

b.onclick = function(){
  var d = document.createElement("div")
  d.innerHTML = "foo"
  document.body.appendChild(d)
}
 
audio = new Audio
audio.src = "http://www.lunerouge.org/sons/engins/LRExplosion%2002%20by%20Lionel%20Allorge.ogg"

observer = new MutationObserver(function(mutations){
   mutations.forEach(function(mutation){
     audio.play()
   })
})

window.onload = function(){
 observer.observe(document.body, {childList: true})
}


</script>

</body>
</html>

но слушает, к сожалению, синхронно. то есть,, если во время проигрывания звука появиться элемент, он это событие не поймает

ryabov 29.09.2015 21:38

Цитата:

Сообщение от sortarray (Сообщение 390200)
[html run]

но слушает, к сожалению, синхронно. то есть,, если во время проигрывания звука появиться элемент, он это событие не поймает

О! Класс! Спасибо тебе большое! Сейчас попробую.

Опан 29.09.2015 22:08

Цитата:

Сообщение от sortarray
если во время проигрывания звука появиться элемент, он это событие не поймает

Это легко исправить, если между 24 и 25 строками вставить
audio.currentTime=0;


Часовой пояс GMT +3, время: 07:18.