Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Capella

Mostrar Janela ou tocar musica ao receber mensagem.

Recommended Posts

Bem gente procurei no forum e na net mais não achei um que eu podesse usar. bem to fazendo um chat para atendimento online. e gostaria de que quando o cliente enviasse mensagem, ou a janela piscasse ou se mostra-se ou tocar uma musica indicando que tem mensagemk. tentei criar uma função para retornar junto com a mensagem mais não deu certo. bem o chat é em ajax+phpse alguem tiver um ideia de com me ajudar agradeço. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 - Para o som da mensagem você pode usar flash.2 - Não há como você fazer (via javascript) com que a Janela pisque (como acontece no MSN)... No máximo você pode alterar o titulo da janela alternadamente (o efeito fica parecido).

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça quando enviar uma msg ele chame uma função tipo exemplo

faça um arquivo no flash bem leve

 

e chame-o assim:

document.getElementById("som").innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="som.swf" /><embed src="som.swf" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
o flash faça que só toque uma vez ponha um STOP; ^^

 

e você tbm pode por no javascript window.focus(); para chamar a janela q é uma maneira para chamar a janela e ela pisca sim ^^

 

 

pronto ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa utilizar Flash. Apenas Javascript / DHTML.

 

Arquivo principal, mensagem.html:

<html>	<head>		<title>Mensagem</title>		<script type="text/javascript">					function ChangeTitle(){				if(document.title == 'Mensagem')					document.title = 'MENSAGEM';									else					document.title = 'Mensagem';			}					function PlaySound(){				document.getElementById('sound').src = 'frame.html';								setInterval("ChangeTitle();", 500);			}						window.onload = function(){				document.getElementById('play').onclick = PlaySound;			}					</script>			</head>	<body>		<iframe id="sound" style="visibility:hidden;"></iframe>		<input  id="play"   type="button"   value="Play -->"   />	</body></html>

Arquivo que carrega o objeto de som, frame.html:

<html>	<head>		<title>Frame</title>	</head>	<body>		<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" >			<param name="AutoStart" value="1"		   />			<param name="FileName"  value="alert.wav"   />		</object>	</body></html>

...http://forum.imasters.com.br/public/style_emoticons/default/dormindo.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

é por que o flash fika mais leve ^^

 

bem na verdade depende eu só achei desnecessario o iframe

e tbm não entendi a utilidade disso é preferivel setTimeout:

setInterval("ChangeTitle();", 500);
Motivo:

se toda vez que chamar o PlaySound() ira gerar um setInterval (LEMBRE-SE SETINTERVAL É DIFERENTE DE SETTIMEOUT)

e se gerar e todos ficarem dando loops isso ira travar o navegador ...¬¬(já passei por isso, hehehe)

 

function PlaySound(){		var_som = '<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" >';		var_som += '<param name="AutoStart" value="1"		   />';		var_som += '<param name="FileName"  value="alert.wav"   />';		var_som += '</object>';		document.getElementById('sound').innerHTML = var_som;		window.focus(); 	 }
html

<div id="sound"></div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

é por que o flash fika mais leve ^^

Flash não fica mais leve. Ele encapsula um som que pode ser inserido diretamente no HTML.

 

bem na verdade depende eu só achei desnecessario o iframe

O método innerHTML(), não é padronizado pelo W3C e através de JS DOM o OBJECT não carrega o arquivo diretamente.

 

e tbm não entendi a utilidade disso:

setInterval("ChangeTitle();", 500);
É só ler o código e acompanhar a lógica, porém, o post é em resposta ao tópico criado pelo Bruno Capella, se você tiver alguma dúvida sobre o assunto crie um novo tópico e adicione uma referência.

 

se toda vez que chamar o PlaySound() ira gerar um setInterval (LEMBRE-SE SETINTERVAL É DIFERENTE DE SETTIMEOUT)

e se gerar e todos ficarem dando loops isso ira travar o navegador ...¬¬(já passei por isso, hehehe)

Pra isso existe o método clearInterval().

Compartilhar este post


Link para o post
Compartilhar em outros sites

então não foi bem uma duvida só achei desnecessario ^^ iframee ja pensou quem ver seu código e não entende muito bem de JS terá problemas au ler o tópico por você inicialmente não ter falado do clearinterval...¬¬acho meio precipitado mas beleza...você quem sabe...heheabraço valeu pelo toque do innerHTML eu não sabia que ele tava fora do W3C hehe ^^e quanto ao changetitle acho q você pode usar em um certo intervalo depois do document.title para chamar owindow.focus(),falow

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.