Ir para conteúdo

POWERED BY:

Arquivado

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

marcelocardoso

[Resolvido] Meta refresh no asp

Recommended Posts

Pessoal!

 

 

Tenho um meta refresh assim:

Response.Write "	   <META HTTP-EQUIV=""REFRESH"" CONTENT=""6;URL=""java script:history.back();"">"

E gostaria de usar para fechar uma janela div aberta em 8 segundos, mas não sei como:

tenho os seguintes dados da div:

 

<style>
div#quadro {
	position: absolute;
	left: 799px;
	top: 146px;
	margin-left: -150px;
	margin-top: -100px;
	width: 288px;
	height: 118px;
	background-image: url(fundo.png);
		 }
		 .visible {
			display: block;
		 }
		 .hidden {
			display: none;
		 }
	  </style>
<script>
function showHide(campo) {
   document.getElementById(campo).className = document.getElementById(campo).className == 'hidden' ? 'visible' : 'hidden';
}
</script>
<div id="quadro" class="hidden">
		<table width="100%" height="100%" border="0" cellspacing="2" cellpadding="2">
		  <tr>
			<td><iframe allowtransparency="true" hspace="0" src="pagiteste.asp" frameborder="0"></iframe></td>
		  </tr>
		</table>
	  </div>

 

Teria que esta metarefresh fazer desaparecer esta div em 8 segundos, teria como fazer isso??????, com o uso do meta

 

 

Agredeço a ajuda dos amigos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa ser com META? não pode ser com o setTimeout??

 

Exemplo:

onload = function() {
  setTimeout(function() {
	showHide('seiLa');
  }, 8000);
}

Abrax!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo!

 

Estou tentando usar assim, mas deu erro no onload, oque fiz de errado????

 

Response.Write "<table width=""100%"" height=""97"" border=""0"" cellpadding=""2"" cellspacing=""4"">"
	   Response.Write "  <tr>"
	   Response.Write "	<td width=""6%"" height=""30""> </td>"
	   Response.Write "	<td width=""44%""> </td>"
	   Response.Write "	<td width=""38%""> </td>"
	   Response.Write "	<td width=""12%""> </td>"
	   Response.Write "  </tr>"
	   Response.Write "  <tr>"
	   Response.Write "	<td> </td>"
	   Response.Write "	<td colspan=""2""><div align=""center"">Dados enviados.</div></td>"
	   Response.Write "	   onload = function() {setTimeout(function() {showHide('quadro');}, 6000);}"
	   Response.Write "	<td> </td>"
	   Response.Write "  </tr>"
	   Response.Write "  <tr>"
	   Response.Write "	<td> </td>"
	   Response.Write "	<td> </td>"
	   Response.Write "	<td> </td>"
	   Response.Write "	<td> </td>"
	   Response.Write "  </tr>"
	   Response.Write "</table>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

você inseriu isso como texto na página. Ele é um script, então tem que estar no bloco específico dele. Assim:

Response.Write "<script language='javascript' type='text/javascript'>"
Response.Write "onload = function() {setTimeout(function() {showHide('quadro');}, 6000);}"
Response.Write "</script>"
...

Abrax!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo!

 

 

Tentei fazer como disse mas não funcionou, portanto estou postando um exemplo bem identico de como estou fazendo.

 

- Estou usando bem como está nos arquivos abaixo, uma página default, onde tem um include e também um arquivo do iframe...

- Tem que ser assim pois estou usando deste jeito, mas o javascript não fecha.

 

VEJA OS ARQUIVOS DE EXEMPLO:

 

ARQUIVO DEFAULT.ASP

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<p><a href="#" target="_parent" onclick="showHide('quadro')">TESTE CLIQUE AQUI?</a></p>
<!--#include file="include.asp"--></p>
</body>
</html>

 

ARQUIVO INCLUDE.ASP

 

<style>
div#quadro {
	position: absolute;
	left: 799px;
	top: 146px;
	margin-left: -150px;
	margin-top: -100px;
	width: 288px;
	height: 118px;
	background-color: #0066CC;
		 }
		 .visible {
			display: block;
		 }
		 .hidden {
			display: none;
		 }
	  </style>
<script>
function showHide(campo) {
   document.getElementById(campo).className = document.getElementById(campo).className == 'hidden' ? 'visible' : 'hidden';
}
</script>
	  <div id="quadro" class="hidden">
		<table width="100%" height="100%" border="0" cellspacing="2" cellpadding="2">
		  <tr>
			<td><iframe allowtransparency="true" hspace="0" src="teste.asp" frameborder="0"></iframe></td>
		  </tr>
		</table>
	  </div>

 

ARQUIVO TESTE.ASP ( que é o do iframe )

 

AGUARDE QUE VAI FECHAR
	   <%
	   Response.Write "<table width=""100%"" height=""97"" border=""0"" cellpadding=""2"" cellspacing=""4"">"
	   Response.Write "  <tr>"
	   Response.Write "	<td width=""6%"" height=""30""> </td>"
	   Response.Write "	<td width=""44%""> </td>"
	   Response.Write "	<td width=""38%""> </td>"
	   Response.Write "	<td width=""12%""> </td>"
	   Response.Write "  </tr>"
	   Response.Write "  <tr>"
	   Response.Write "	<td> </td>"
	   Response.Write "	<td colspan=""2""><div align=""center""><span class=""RodapeLinksBrancos"">Dados enviados para o seu email.</span></div></td>"
	   Response.Write "<script language='javascript' type='text/javascript'>"
	   Response.Write "onload = function() {setTimeout(function() {showHide('quadro');}, 6000);}"
	   Response.Write "</script>"	   
	   Response.Write "	<td> </td>"
	   Response.Write "  </tr>"
	   Response.Write "  <tr>"
	   Response.Write "	<td> </td>"
	   Response.Write "	<td> </td>"
	   Response.Write "	<td> </td>"
	   Response.Write "	<td> </td>"
	   Response.Write "  </tr>"
	   Response.Write "</table>"
	   %>

 

 

Preciso que seje neste contexto que fiz, pode colocar os tres arquivo em uma mesma pasta e abrir o default e ver que ele não fecha com o javascript que me passou, poderia me ajudar a resolver isso..

 

Sou um zero a esquerda com javascript.

 

Obrigado amigo.

 

 

Deus abençoe e obrigado até aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alô amigos

 

 

Como posso fazer uma função que funcione neste meu exemplo postado, pois fiz como o berkowitz mencionou e nao funciona, acredito que ele esteja correto, mas eu que estou fazendo algo de errado.

 

Podem me ajudar, pois não fecha a div como ele me passou.

Estou fazendo errado?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa eu ver se entendi: de dentro do IFRAME (página teste.asp) você está chamando a função showHide(), que está criada na página que abre o iframe. Certo?

Se for isso, então precisa adicionar uma referência a ela no seu iframe pois as funções estão em páginas diferentes.

Tente assim:

...
Response.Write "onload = function() {setTimeout(function() {parent.showHide('quadro');}, 6000);}"
...
ou

...
Response.Write "onload = function() {setTimeout(function() {_top.showHide('quadro');}, 6000);}"
...

Entendeu?

 

Abrax!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente.

 

Muito obrigado amigo...

E quero lhe dizer que antes de me conseguir até tinha conseguido depois de não sei como, mas luz de Deus mesmo. consegui fazer assim. mas com falhas.

 

Response.Write "  <script language=""javascript"">setInterval(""parent.document.getElementById('quadro').style.display='none'"", 4500)<//script>"

Funcionou perfeito, mas depois não deixava eu abrir novamente o link, pois ele trancava, só dando refresh na pagina mesmo.

Mas daí você com este código abaixo, funcionou perfeito.

 

Response.Write "<script language=""javascript"">onload = function() {setTimeout(function() {parent.showHide('quadro');}, 6000);}</script>"

Só que gostaria mais uma coisinha de você, como eu poderia fazer com que ele desse o unload, e deixasse como se fosse a primeira vez que eu abro a div????

 

Pois assim depois que uso seu codigo, ele apaga depois de 6 segundos, mas se depois clico novamente no link para abrir a div, ele me traz de onde ele fechou....

 

Tem como fazer ele trazer do começo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Berkowitz...

 

Acho que para fazer isso, teriamos que usar alguma coisa do mesmo script:

<style>
div#quadro {
	position: absolute;
	left: 799px;
	top: 146px;
	margin-left: -150px;
	margin-top: -100px;
	width: 288px;
	height: 118px;
	background-color: #0066CC;
		 }
		 .visible {
			display: block;
		 }
		 .hidden {
			display: none;
		 }
	  </style>
<script>
function showHide(campo) {
   document.getElementById(campo).className = document.getElementById(campo).className == 'hidden' ? 'visible' : 'hidden';
}
</script>

Tipo colocar o className = Visible, pois acredito que seja isso, sei lá, pois não entendo nada de javascript....

 

 

Veja se me entendeu.

Obrigado mais uma vez...

 

 

Deus abençoe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo!

 

Acabei de te pedir, mas testei assim e funcionou:

VEJA:

 

Se tiver um jeito mais certo de se fazer posta pra mim, mas fiz assim e funcionou.

 

 

Response.Write "<script language=""javascript"">onload = function() {setTimeout(function() {parent.showHide('quadro');}, 4500);}</script>"
Response.Write "<META HTTP-EQUIV=""REFRESH"" CONTENT=""5;URL=""java script:history.back();"">"

Obrigado!

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.