Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
12/09/10 19:30
hemmaus
Salve a tutti, premetto che sono un novello di AJAX.
Ho implementato una chat Operatore per il sito aziendale in AJAX e ASP.
In breve il cliente chatta direttamente con l'operatore meno impegnato.
La chat funziona benissimo.

Il problema è sorto nel momento in cui si è presentata la necessità di far udire un suono all'operatore quando il cliente digita.

Ho utilizzato <embed> interagendo con Javascript e il suono si sente solo all'avvio della conversaizione, probabilmente perchè Ajax refresh una sola volta il <div>.

Cosa ne pensate? chi può aiutarmi ?
Grazie.
aaa
13/09/10 8:53
Il Totem
Ci sono molti tutorial che suggeriscono di utilizzare la funzione .play() di un elemento embed, ma questa non va (magari è diventata obsoleta ed è stata rimossa, no so). Ho trovato un trucchetto poco elegante, ma che almeno funziona (più o meno). Devi aggiungere un nuovo elemento embed alla pagina con js e impostare autostart su true: quando verrà aggiunto, inizierà automaticamente, e lo aggiungi solo quando devi far eseguire il suono.
Esempio:
var soundEmbed = null;
       
        function playBeep(which)
        {
            if (soundEmbed)
            {
                document.body.removeChild(soundEmbed);
                soundEmbed.removed = true;
                soundEmbed = null;
            }
            soundEmbed = document.createElement("embed");
            soundEmbed.setAttribute("src", "beep.wma");
            soundEmbed.setAttribute("hidden", true);
            soundEmbed.setAttribute("autostart", true);
            soundEmbed.removed = false;
            document.body.appendChild(soundEmbed);
        }
aaa
13/09/10 21:36
hemmaus
Ciao,
grazie per aver risposto.
L'idea mi sembra geniale, tuttavia non riesco a farla funzionare.

Mi spieghi cosa passo alla funzione in (which)?
Probabilmente sbaglio lì.

Non credi sia necessario inserire anche:

soundEmbed.setAttribute("enablejavascript", true);

oppure dove posso sbagliare ? non sento nessun suono con questa funzione.
Devo richiamarla in qualche modo particolare? , io provo così da ASP:

response.write("<script type='text/javascript'>playBeep()</script>";)

ma anche in Html non funziona.
Grazie per la risposta.
aaa
13/09/10 22:14
hemmaus
Grazie,
ho rivisto il codice mancava un ; tutto perfetto.
Ottimo suggerimento. :idea:
aaa
14/09/10 9:13
Il Totem
Comunque il which sarebbe dovuto essere il nome del file da riprodurre, ma poiché avevo sempre lo stesso suono ho inserito il nome direttamente nella stringa e mi sono dimenticato di togliere il parametro.
aaa