2017-12-30 63 views
-1

誰かが新しいメッセージを受け取るたびに音を出そうとしている。今、私はchatboxを作っていると私はそれがchatbox(誰かがデシベルでchatboxテーブルに挿入し、基本的にはとき)毎回新しいメッセージが到着新しいメッセージが届いたときに音を鳴らす

<script type="text/javascript"> 
    function ajax(){ 
     var req = new XMLHttpRequest(); 

     req.onreadystatechange = function(){ 
      if (req.readyState == 4 && req.status == 200) { 
       document.getElementById('chat').innerHTML = req.responseText; 
      } 
     } 

     req.open('GET', 'divisiones/chat.php', true); 
     req.send(); 
    } 

    //linea que hace que se refreseque la pagina cada segundo 
    setInterval(function(){ajax();}, 1000); 
</script> 
<div class="content-wrapper" onload="ajax();"> 
    <section class="content"> 
        <div class="row"> 
      <div class="col-md-12"> 
       <div class="box box-primary" style="background-color: #fffbf8;"> 
        <div style="background: repeating-linear-gradient(-45deg, white, white 1px, #fffbf8 1px, #fffbf8 8px);"> 
         <div class="wrap"> 
          <div class="row"> 
           <div id="caja-chat"> 
            <div id="chat"></div> 
           </div> 

           <form method="POST" action="division_chat.php?auth=<?php echo $salt_key_check; ?>"> 
            <input type="text" name="nombre" placeholder="Ingresa tu nombre"> 
            <textarea name="mensaje" placeholder="Ingresa tu mensaje"></textarea> 
            <input type="submit" name="enviar" value="Enviar"> 
           </form> 

           <?php 
            if (isset($_POST['enviar'])) { 

             $nombre = $_POST['nombre']; 
             $mensaje = $_POST['mensaje']; 


             $consulta = "INSERT INTO division_chat VALUES (NULL,'$session_login_usr', '$mensaje', '$fptime', '$log_ip', '$divisionpd')"; 

             $ejecutar = $con_db->query($consulta); 

             if ($ejecutar) { 
              echo "<embed loop='false' src='beep.mp3' hidden='true' autoplay='true'>"; 
             } 
            } 

           ?> 
          </div> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</section> 
</div> 
+0

https://www.html5rocks.com/enを/ tutorials/webaudio/intro /。 HTML5 Web Audio APIを使い始めるのがよいでしょう。 JavaScriptを使用してオーディオファイルを読み込んで再生/一時停止することができます。 – DaZa

+0

あなたは[SQL Injections](http://php.net/manual/en/security.database.sql-injection.php)を広く利用していますので、[Prepared Statements](http://php.net/ manual/en/mysqli.quickstart.prepared-statements.php)を使用してください。あなたがユーザーの入力をまったくエスケープしていないからです! –

+0

@DaZaありがとう!!!!チャットボックスに新しいメッセージが届くたびに音を出すことができますか? –

答えて

0

を見ている人のためのサウンドを再生したいです新しいメッセージがその値と等しいかどうかを確認できるように、LAST req.responseTextの値をどこかに保存する必要があります。

req.responseTextの値を格納するために、私はHTML5 localStorageを使用します。

そして、あなたはこのような何かを行うことができます。

var LastMessage = localstorage.getItem('last_message'); 

if(req.responseText != LastMessage){ 

/////Play your sound here///// 
$('#audio').play(); 

} 

をあなたがこのページでどこかに持っていることを確認してください:私は読んでお勧め

<audio id="audio" src="audio.mp3"></audio> 
関連する問題