Autor | Zpráva | ||
---|---|---|---|
Pavlínka Profil |
ahoj, tvořím si takový malý suportík pro uživatele... a chci aby mi to zvonilo když nějaký uživatel něco napíše...
na jedné straně mám obnovování plochy textu: <script type="text/javascript"> $('#chat_sklo').load('/chat/suport.php?id=<?php echo "$chnick&hash=$hash&time=".time(); ?>'); var refreshId = setInterval(function() { var timestamp = Number(new Date()); $('#chat_sklo').load('/chat/suport.php?id=<?php echo "$chnick&hash=$hash&time="; ?>'+timestamp); }, 5000); </script> kde se kontroluje zda někdo něco napsal a zároveň zda jsem mu odpověděla... (pokud někdo něco napsal a já mu neodpověděla spustí se zvonění) v tomto případě tam mám podmínku (/chat/suport.php:) if($komunikaceadmin==""){ echo"<script src=\"/chat/zvoneni.js\" type=\"text/javascript\"></script>"; } kde v souboru zvoneni.js mám hodnotu: mpetrojka = 12; pak mám na straně webu kde je i první zmiňovaný kod na obnování také toto... <div id="ConnectionIndicator" style="display: none" onmouseover="this.style.display='block'"></div> <script type="text/javascript"> if(mpetrojka==12){ $('#ConnectionIndicator').html('<audio autoplay controls><source src="zvoneni.mp3" type="audio/mpeg"></audio>'); } </script> a má otázka je jednoduchá... jak vyvolat "zvoneni" tak aby začalo hrát při podmínce a přestalo hrát při odepsání... původně jsem místo if($komunikaceadmin==""){ echo"<script src=\"/chat/zvoneni.js\" type=\"text/javascript\"></script>"; } |
||
Kajman Profil |
#2 · Zasláno: 9. 2. 2018, 17:37:56
Můžete tam tag audio mít vždy a javascriptem podle potřeby volat jeho metody play() a pause().
<audio loop preload controls id="zvoneni"><source src="zvoneni.mp3" type="audio/mpeg"></audio> document.getElementById('zvoneni').play(); document.getElementById('zvoneni').pause(); |
||
Pavlínka Profil |
#3 · Zasláno: 11. 2. 2018, 05:12:14
problém je, že .load('/chat/suport.php?id=<?php echo "$chnick&hash=$hash&time="; ?>'+timestamp); načte html ale nenačte js takže ani nevyvolá document.getElementById('zvoneni').play();
|
||
Kajman Profil |
#4 · Zasláno: 11. 2. 2018, 12:54:58
Pokud budete volat ajax, který vrací např. v json formátu více věcí a ne jen nové řádky chatu, můžete se podle toho rozhodnout, zda je potřeba začít zvonit nebo naopak přestat (jiný operátor se zákazníkem zahájil chat).
požadavek na server - ověření oprávnění - seznam otevřených chatů s identifikací pro každý z nich s posledním získaným id odpověd serveru - seznam neotevřených chatů, které čekají, až je nějaký operátor zvedne (pokud to nebude prázdné, mohlo by to zvonit, naopak přestat zvonit, pokud ve frontě nic není) - seznam požadovaných chatů - u každého nové řádky a identifikátor posledního vypsaného id, případně příznak, že ho zákazník ukončil |
||
Časová prodleva: 6 let
|
0