Ir para conteúdo

Arquivado

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

Ronaldo Bueno

[Resolvido] onclick com java

Recommended Posts

Pessoal,

 

De tempos em tempos estamos aqui novamente para pedir ajuda dos feras:

 

Estou com problemas em exibir vídeo do Jaris.

 

Tenho um banco de dados que tem uma lista de vídeos (codigo, nomedovideo, nomedoflv....)

 

Fiz uma página que lista esses registro (fiz com div uma do lado da outra) para mostrar a pré-imagem do vídeo. Ao clicar no ícone play quero que ele mostre o vídeo em uma div na mesma página.

 

Fiz assim ao clicar no play

<a href="#" title="<%=RSvideos("titulo")%>" onclick="javascript:pegarvideo(<%=RSvideos("codigo")%>);">
<img src="img/btn-play-video.gif" border="0" alt="Ver Vídeo"/>
</a>

 

no java coloquei assim:

function pegarvideo(variavel){
	if(variavel.value!=""){
		ajax = ajaxInit(); 
		ajax.open("GET", "buscavideo.asp?codigovideo=" +variavel,true); 
		ajax.onreadystatechange=function() {
			if (ajax.readyState==4){
			document.getElementById("video").innerHTML=ajax.responseText;

			}
		}
		ajax.send(null);
	}
}

 

e o ASP que busca o vídeo esta assim:

 

<%
codigovideo	= request.QueryString("codigovideo")
response.write codigovideo

set RSbuscavideo = server.createobject("adodb.recordset")
SQLbuscavideo = "Select * from videotv where codigo = " & codigovideo 
RSbuscavideo.open SQLbuscavideo, conn

										response.write("<div align='center'>")
											response.write("<script src='swfobject.js' type='text/javascript'></script>")
											response.write("<script type='text/javascript'>")
												response.write("var flashvarsVideoNewControls = {")
													response.write("source: 'videos/"&RSbuscavideo("nomevideo")&"',")
													response.write("type: 'video',")
													response.write("streamtype: 'file',")
													response.write("server: '',")
													response.write("duration: '52',")
													response.write("poster: 'videos/"&RSbuscavideo("fotocapa")&".jpg',")
													response.write("autostart: 'false',")
													response.write("logo: 'img/logo.png',")
													response.write("logoposition: 'top left',")
													response.write("logoalpha: '30',")
													response.write("logowidth: '130',")
													response.write("logolink: 'http://www.avebesp.com.br',")
													response.write("hardwarescaling: 'false',")
													response.write("darkcolor: '000000',")
													response.write("brightcolor: '4c4c4c',")
													response.write("controlcolor: 'FFFFFF',")
													response.write("hovercolor: '67A8C1',")
													response.write("controltype: 1")
												response.write("};")
												response.write("var params = {")
													response.write("menu: 'false',")
													response.write("scale: 'noScale',")
													response.write("allowFullscreen: 'true',")
													response.write("allowScriptAccess: 'always',")
													response.write("bgcolor: '#000000',")
													response.write("quality: 'high',")
													response.write("wmode: 'opaque'")
												response.write("};")
												response.write("var attributes = {")
													response.write("id:'JarisFLVPlayer'")
												response.write("};")
												response.write("swfobject.embedSWF('JarisFLVPlayer.swf', 'altContentOneNewControls', '576px', '360px', '10.0.0', 'expressInstall.swf', flashvarsVideoNewControls, params, attributes);")
											response.write("</script>")
											response.write("<div id='altContentOneNewControls'>")
												response.write("<h1> </h1>")
												response.write("<p> </p>")
												response.write("<p><a href='http://www.adobe.com/go/getflashplayer'><img src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a></p>")
											response.write("</div>")
										response.write("</div>")

%>

 

Coloquei o response (do código) para ver se ele estava retornando o codigo do vídeo e está exibindo o numero corretamente, só que não abre o vídeo.

 

Se eu colocar o nome e a imagem ele mostra, apenas pegando os dados do banco que ele não mostra.

 

Alguém poderia me ajudar ?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu problema não tem relação com Java, e sim com JavaScript, motivo pelo qual o tópico será movido.

 

Ao meu ver, o problema parece ser que você tenta trazer javascript (swfobject.js) via ajax. Só que este JS não é interpretado pelo navegador.

 

Tente colocar a chamada a este arquivo .js diretamente no arquivo que tem o link, e não no arquivo que busca o vídeo.

 

Carlos Eduardo

 

Plataforma Java :seta: Javascript

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não precisa de ajax nisso.

 

você pode fazer diretamente com javascript, trocando o embed.. não tem nenhuma necessidade de ir no servidor e voltar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajax é ir no servidor e voltar. Você não precisa disso.

 

faça um simples .innerHTML e pronto. Não precisa de ajax, entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a função, vai ficar assim:

 

function pegarvideo( nome, capa ){
  if(variavel!=""){
        document.getElementById('video').innerHTML = "<div align='center'>"+
   "<script src='swfobject.js' type='text/javascript'></script>"+
   "<script type='text/javascript'>"+
           "var flashvarsVideoNewControls = {"+
                   "source: 'videos/"+nome+"',"+
                   "type: 'video',"+
                   "streamtype: 'file',"+
                   "server: '',"+
                   "duration: '52',"+
                   "poster: 'videos/"+capa+".jpg',"+
                   "autostart: 'false',"+
                   "logo: 'img/logo.png',"+
                   "logoposition: 'top left',"+
                   "logoalpha: '30',"+
                   "logowidth: '130',"+
                   "logolink: 'http://www.avebesp.com.br',"+
                   "hardwarescaling: 'false',"+
                   "darkcolor: '000000',"+
                   "brightcolor: '4c4c4c',"+
                   "controlcolor: 'FFFFFF',"+
                   "hovercolor: '67A8C1',"+
                   "controltype: 1"+
           "};"+
           "var params = {"+
                   "menu: 'false',"+
                   "scale: 'noScale',"+
                   "allowFullscreen: 'true',"+
                   "allowScriptAccess: 'always',"+
                   "bgcolor: '#000000',"+
                   "quality: 'high',"+
                   "wmode: 'opaque'"+
           "};"+
           "var attributes = {"+
                   "id:'JarisFLVPlayer'"+
           "};"+
           "swfobject.embedSWF('JarisFLVPlayer.swf', 'altContentOneNewControls', '576px', '360px', '10.0.0', 'expressInstall.swf', flashvarsVideoNewControls, params, attributes);"+
   "</script>"+
   "<div id='altContentOneNewControls'>"+
           "<h1> </h1>"+
           "<p> </p>"+
           "<p><a href='http://www.adobe.com/go/getflashplayer'><img src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a></p>"+
   "</div>"+
"</div>";           
  }
}

 

e então:

<a href="#" title="<%=RSvideos("titulo")%>" onclick="javascript:pegarvideo('<%=RSvideos("nomevideo")%>', '<%=RSvideos("fotocapa")%>');">

Ou seja, não precisa do ASP, por isso eu disse q não precisa de ajax(ir no servidor e voltar).

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu o seguinte erro:

Um bloco de script não pode ser colocado dentro de outro bloco de script.

tv.asp line 13

 

a linha é essa:

"<script src='swfobject.js' type='text/javascript'></script>"+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse erro é mostrado no seu editor, ne?!

 

mas está executando corretamente no browser ?

mova para fora:

 

 

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
function pegarvideo( nome, capa ){
  if(variavel!=""){
        document.getElementById('video').innerHTML = "<div align='center'>"+
   "<script type='text/javascript'>"+
           "var flashvarsVideoNewControls = {"+
   //..continua..
  }
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

William,

 

Não conheço muita coisa de script mas entendi o que fez, não precisava do asp para pegar o nome do vídeo já que eu tinha ele na lista junto com os outros campos, então essa função vai e manda os dois para a div videos.

 

Agora não sabia que podíamos juntar as linhas dentro de um script com o sinal de + no final.

 

Obrigado por enquanto

 

ja tinha feito isso.

 

voltei o normal e o erro continua.

 

mudei novamente o swfobject para fora e continua o erro, não abre a página.

 

da erro a primeira linha abaixo do document.getElementById independente do que coloque lá.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que realmente é "meio estranho", você tentar gerar javascript, usando javascript.

 

vamos fazer o seguinte:

 

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
function pegarvideo( nome, capa ){
  if(variavel!=""){
        document.getElementById('JarisFLVPlayer').innerHTML = "<div align='center'>"+
           "<div id='altContentOneNewControls'>"+
           "<h1> </h1>"+
           "<p> </p>"+
           "<p><a href='http://www.adobe.com/go/getflashplayer'><img src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a></p>"+
   "</div>"+
"</div>";

           var flashvarsVideoNewControls = {
                   source: 'videos/'+nome,
                   type: 'video',
                   streamtype: 'file',
                   server: '',
                   duration: '52',
                   poster: 'videos/'+capa+'.jpg',
                   autostart: 'false',
                   logo: 'img/logo.png',
                   logoposition: 'top left',
                   logoalpha: '30',
                   logowidth: '130',
                   logolink: 'http://www.avebesp.com.br',
                   hardwarescaling: 'false',
                   darkcolor: '000000',
                   brightcolor: '4c4c4c',
                   controlcolor: 'FFFFFF',
                   hovercolor: '67A8C1',
                   controltype: 1
           };
           var params = {
                   menu: 'false',
                   scale: 'noScale',
                   allowFullscreen: 'true',
                   allowScriptAccess: 'always',
                   bgcolor: '#000000',
                   quality: 'high',
                   wmode: 'opaque'
           };
           var attributes = {
                   id:'JarisFLVPlayer'
           };
           swfobject.embedSWF('JarisFLVPlayer.swf', 'altContentOneNewControls', '576px', '360px', '10.0.0', 'expressInstall.swf', flashvarsVideoNewControls, params, attributes);

  }
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora abriu a página, mas da erro nessa linha

if(variavel!=""){

 

Esse erro é aquele que a gente ve na barra de status quando clica no icone exclamação

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, desculpe.. remova esse IF(), ele já não mais faz sentido.

 

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
function pegarvideo( nome, capa ){

        document.getElementById('JarisFLVPlayer').innerHTML = "<div align='center'>"+
           "<div id='altContentOneNewControls'>"+
           "<h1> </h1>"+
           "<p> </p>"+
           "<p><a href='http://www.adobe.com/go/getflashplayer'><img src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a></p>"+
   "</div>"+
"</div>";

           var flashvarsVideoNewControls = {
                   source: 'videos/'+nome,
                   type: 'video',
                   streamtype: 'file',
                   server: '',
                   duration: '52',
                   poster: 'videos/'+capa+'.jpg',
                   autostart: 'false',
                   logo: 'img/logo.png',
                   logoposition: 'top left',
                   logoalpha: '30',
                   logowidth: '130',
                   logolink: 'http://www.avebesp.com.br',
                   hardwarescaling: 'false',
                   darkcolor: '000000',
                   brightcolor: '4c4c4c',
                   controlcolor: 'FFFFFF',
                   hovercolor: '67A8C1',
                   controltype: 1
           };
           var params = {
                   menu: 'false',
                   scale: 'noScale',
                   allowFullscreen: 'true',
                   allowScriptAccess: 'always',
                   bgcolor: '#000000',
                   quality: 'high',
                   wmode: 'opaque'
           };
           var attributes = {
                   id:'JarisFLVPlayer'
           };
           swfobject.embedSWF('JarisFLVPlayer.swf', 'altContentOneNewControls', '576px', '360px', '10.0.0', 'expressInstall.swf', flashvarsVideoNewControls, params, attributes);


}
</script>

para um debug melhor, use o console do Firefox:

http://wbruno.com.br/blog/2011/03/31/como-debugar-javascript-firefox-erros-comuns/

Compartilhar este post


Link para o post
Compartilhar em outros sites

e oque diz o console do Firefox ?

vamos debugar pelo Firefox ok ? o console do ie é muito confuso.

 

Em que lugar deve aparecer o vídeo ?

nesse getElementById(), você deve informar o id da div que vai receber o embed. Altere ai, segundo o teu html.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A página funciona assim:

 

quando abre aparece o último vídeo postado em na div video em cima, depois ele lista em box os outros vídeos, quando clicar deve abrir na mesma div vídeo.

 

troquei a div que irá receber o video e funcionou. agora "você" me de outro problema rsrsrrs

 

esta tudo funcionando no IE, mas no firefox nem de sonho kkkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

E oque aparece no console de erros do Firefox ?

Como ficou teu código ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

no consele ficou os seguinte erro:

 

Erro: Error calling method on NPObject!

Arquivo-fonte: http://localhost/avebesp/swfobject.js

Linha: 4

 

Erro: uncaught exception: Error: Permissão negada a <http://www.facebook.com> para ler a propriedade Proxy.InstallTrigger

 

Erro: document.getElementById("JarisFLVPlayer") is null

Arquivo-fonte: http://localhost/avebesp/tv-avebesp-videos-tv.asp?mL=6

Linha: 55

 

Erro: Error calling method on NPObject!

Arquivo-fonte: http://localhost/avebesp/swfobject.js

Linha: 4

 

Erro: uncaught exception: Error: Permissão negada a <http://www.facebook.com> para ler a propriedade Proxy.InstallTrigger

 

Erro: Error calling method on NPObject!

Arquivo-fonte: http://localhost/avebesp/swfobject.js

Linha: 4

 

Erro: uncaught exception: Error: Permissão negada a <http://www.facebook.com> para ler a propriedade Proxy.InstallTrigger

 

e o código ficou assim:

 

<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript"> 
function pegarvideo( nome, capa ){
        document.getElementById('video').innerHTML = "<div align='center'>"+ 
           "<div id='altContentOneNewControls'>"+ 
           "<h1> </h1>"+ 
           "<p> </p>"+ 
           "<p><a href='http://www.adobe.com/go/getflashplayer'><img src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a></p>"+ 
   "</div>"+ 
"</div>"; 
           var flashvarsVideoNewControls = { 
                   source: 'videos/'+nome, 
                   type: 'video', 
                   streamtype: 'file', 
                   server: '', 
                   duration: '52', 
                   poster: 'videos/'+capa+'.jpg', 
                   autostart: 'false', 
                   logo: 'img/logo.png', 
                   logoposition: 'top left', 
                   logoalpha: '30', 
                   logowidth: '130', 
                   logolink: 'http://www.avebesp.com.br', 
                   hardwarescaling: 'false', 
                   darkcolor: '000000', 
                   brightcolor: '4c4c4c', 
                   controlcolor: 'FFFFFF', 
                   hovercolor: '67A8C1', 
                   controltype: 1 
           }; 
           var params = { 
                   menu: 'false', 
                   scale: 'noScale', 
                   allowFullscreen: 'true', 
                   allowScriptAccess: 'always', 
                   bgcolor: '#000000', 
                   quality: 'high', 
                   wmode: 'opaque' 
           }; 
           var attributes = { 
                   id:'JarisFLVPlayer' 
           }; 
           swfobject.embedSWF('JarisFLVPlayer.swf', 'altContentOneNewControls', '576px', '360px', '10.0.0', 'expressInstall.swf', flashvarsVideoNewControls, params, attributes); 
} 
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esses erros são "antigos"

 

Clique no LIMPAR, e execute novamente a página, para aparecerem os novos, apartir da alteração do script.

Apague também o cache e os temporários do navegador.

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.