Ir para conteúdo

POWERED BY:

Arquivado

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

lossoth

iframes

Recommended Posts

hi :D tou a fazer um site com frames e tenho uma duvida...há algum codigo que não deixe o utiizador aceder a uma frame directamente? por exemplo:o site www.qqcoisa.com tem uma frame cuja url é www.qqcoisa.com/frame1.htmlse o user aceder à pagina www.qqcoisa.com a frame dá correctamente, mas se o user tentar aceder a www.qqcoisa.com/frame1.html directamente ele dá erro. alguem sabe como fazer isto?Obrigada :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi!qual erro?se nessa página frame1.html estiver utilizando o frame da página principal (que seria a anterior ao frame1.html) dá erro.mas posta o erro ae p/ nós.flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi!qual erro?se nessa página frame1.html estiver utilizando o frame da página principal (que seria a anterior ao frame1.html) dá erro.mas posta o erro ae p/ nós.flw

:D é assim, n dá erro! eu kero k dê erro!tipo, ele só pode aceder a frame na pagina principal, não pode aceder directamente à pagina da frame.... o erro que irá aparecer ao user será: " voce n pode aceder directamente a esta pagina."

Compartilhar este post


Link para o post
Compartilhar em outros sites

oie!!!

 

bem... fiz uns testes aki e até q teve resultado... mas antes dá um erro d script! :D

 

mas acho q já ajuda um poko (espero :P )

 

seguinte:

 

na página principal você poderia abrir as páginas no iFrame através do java script:

 

pgprinc.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>Documento sem título</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="JavaScript">

function abrepag(destino)

{

document.all['frteste'].src=destino;

}

</script>

</head>

 

<body>

<a href="java script: abrepag('pgframe.htm')">Teste</a>

<br>

<iframe frameborder="1" width="300" height="400" id="frteste"></iframe>

</body>

</html>

Aí abre a página na boa. Ok.

Então na outra página, no teste "pgframe.htm", teria um script para verificar se a página principal foi ativada:

 

pgframe.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>Documento sem título</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="JavaScript">

sorigem="";

 

sorigem=parent.document.all['frteste'].src;</script>

</head>

 

<body>

 

<script language="JavaScript">

  if (sorigem=="") window.location="pginvalida.htm";

</script>

</body>

</html>

nesta segunda página, verifica se o documento com o nome do frame é o parent, se sim a variável sorigem é preenchida com seu respectivo valor em relação ao link atual do iframe. Se não , redireciona para uma página de erro com um link para o principal:

 

obs: se ele abrir direto a página pgframe.htm, será exibida um erro de script (até pq o elemento procurado não foi encontrado), e em seguida redireciona.

 

pginvalida.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>Documento sem título</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

 

<body>

<div align="center">

  <p><font color="#FF0000"><strong>V</strong>oce n pode aceder directamente a

    esta pagina.</font> </p>

  <p><a href="pgprinc.htm">Home</a></p>

</div>

</body>

</html>

okz?

 

qquer coisa tamos ae! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

é muito mais simples fazer a verificação do número de framesqtd = parent.length;alert(qtd);se qtd for igual a zero é porque está fora do frameset então redirecione para o frame.

Compartilhar este post


Link para o post
Compartilhar em outros sites

:lol: :lol: :lol:

 

muito obrigado aos dois...

 

ajudaram muito

 

eu segui o exemplo do cassitos e juntei a parte do wxkj.

 

ficou assim a pgframe.htm:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Language" content="pt"><title>Documento sem título</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><script language="JavaScript">qtd = parent.length;</script></head><body>  <script language="JavaScript">  if (qtd==0) window.location="pginvalida.htm";  </script></body></html>

^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Há um incoveniente.

Por exemplo, seu site tem o frameset frame.html

que chama frame1.html

 

http://www.xxx.com/frame.html

 

mas um usuário buscou por algo no google e encontrou o link:

 

http://www.xxx.com/frame1.html

 

daí ele clica e é redirecionado para

http://www.xxx.com/frame.html

 

vai acabar não encontrando o que buscou no google

 

seria bom gravar num cookie o "location" da página antes de redirecionar e na página do frameset verificar se o cookie contém algum valor, se tiver ele já carrega no frame.

 

entendeu?

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.