Ir para conteúdo

POWERED BY:

Arquivado

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

nlopes

Iframe ou Include ou alguma opção melhor?

Recommended Posts

Caros colaboradores;

 

 

estou construindo um site que tem o topo e o rodape igual para todas as paginas, mudando apenas o conteudo no meio. Porém esse conteudo pode mudar de tamanho de acordo com a página a ser mostrada.

 

Tentei fazer com iframe, mas estou tendo problemas ao redimensionar o iframe no navegador FF.

 

Qual a melhor solução para isso?

 

 

obs.: gostaria de saber a melhor forma para o site ficar mais leve e acessivel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

procure por funções js que redimencioanm o iframe de acordo com o conteudo

 

o include da certo pq ele ja redimensiona as coisas mas o problema que ele pega o css das outras paginas se você n der identificador pra todas as coisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. usa include, se for tudo asp... sabe pq? iframe nao varia de acordo com o conteudo, ou seja, o tamanho da pagina fica sempre o mesmo, e aparece a barra de rolagem SOH no meio, na minha opnião isso eh mto feio...

caso contrario use ajax, eh mto bom..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Decidir por usar include mesmo, ma me deparei com o seguinte problema: no meu topo tem um banner e um menu em flash. Como no codigo abaixo:

 

<body>
<div id="todoConteudo">
<div id="topo">
			<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="780" height="301">
			  <param name="movie" value="topo.swf" />
			  <param name="quality" value="high" />
			  <embed src="topo.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="780" height="301"></embed>
  </object>
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="780" height="52">
			  <param name="movie" value="menu.swf" />
			  <param name="quality" value="high" />
			  <embed src="menu.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="780" height="52"></embed>
  </object>
</div>

<div id="conteudo>	
<!--#include file="index.asp"-->
</div>
	
	
	

<!--#include file="rodape.htm" //-->
</div>		
</body>

 

Nao estou conseguindo fazer com que o link do menu mude apenas o include que fica dentro da DIV CONTEUDO sem recarregar a pagina toda, pois o banner inicial tem uma animação a qual gostaria que aparecesse apenas na primeira visita.

 

helpppppp

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. usa include, se for tudo asp... sabe pq? iframe nao varia de acordo com o conteudo, ou seja, o tamanho da pagina fica sempre o mesmo, e aparece a barra de rolagem SOH no meio, na minha opnião isso eh mto feio...

caso contrario use ajax, eh mto bom..

 

Como diria um amigo meu: "Eu DISCONCORDO".. IUAHiuHIAuhIUAhIAUiAuhA

 

DA SIM para redimensionar o tamanho do iFrame de acordo com a página e TAMBEM DA SIM para remover TODAS as barras de rolagem dele...

 

Nos sites que faço sempre gosto de utilizar o iframe.... e nao existe barras de rolagens...

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara como eh que você faz para redimensionar os iframes e fazer com que eles nao fiquem com barra de rolagem? funcionando em varios navegadores.

 

eu jah tentei fazer isso, mas soh conseguir fazer funcionar no IEca. Fiz com o seguinte codigo:

 

<script language="JavaScript" type="text/javascript">

parent.document.getElementById("frame").height = document.getElementById("meio").scrollHeight + 0; //50: Margem Superior e Inferior, somadas

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo de iframe SEM Scroll:

 

<iframe id="top" src="Top.html" name="top" width="780" height="118" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" ></iframe>

 

A propriedade "scrolling="no"" faz com que as barras não sejam mostradas....

 

Para redimensionar ele de acordo com a página.. eu não lembro a função agora de cabeça ( são 2:30 da manhã e eu to com sono , heheheh ), mas aki mesmo no fórum tem uma dessas.. é só pesquisar....

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Darkdemo. andei procurando no forum o dia inteiro e nao encontrei nenhuma solução para meu problema.

 

a função que funcionou foi a que postei anteriormente e soh funcionou no IE, se você tiver alguma outra função, ou corrigir algo nessa que postei eu agradeço.

 

jah estou ficando louco!!

 

ahuehaheuh

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola,

 

Apenas para somar, esse script abaixo redimensiona o tamanho do Iframe:

 

CODE
<script language="JavaScript" type="text/javascript">

if (document.getElementById("tamanho").scrollHeight>420){

parent.document.getElementById("dimensao").height = document.getElementById("tamanho").scrollHeight + 40;

} else {

parent.document.getElementById("dimensao").height = 420;

}

</script>

 

 

basta colocar um ID no Iframe chamado Dimensao e na pagina que esta sendo carregada, colocar um <div id = "tamanho"> logo após o body e finaliza logo antes do </body>

 

 

[]´s

Adriano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo com o Darkdemo.

 

Eu também sempre utilizo IFRAMES redimensionáveis para ajustar o conteúdo, obviamente, sem criar barras, dando assim a impressão que a página foi carregada por AJAX

 

Acho a maneira mais objetiva de se criar, e melhor para administrar tb.

 

Utilizo includes apenas para pequenas coisas, que não façam exigir muito do desempenho do servidor.

 

Visitem o www.dynamicdrive.com que lá vcs acharão alguns exemplos, inclusive em AJAX, e adaptando os códigos com ASP/ASP.NET o desempenho é excelente!

 

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adriano, esse seu codigo funciona em todos os browsers? pois tenho uma função javascript bem parecida com essa passada e soh funciona no IE....

 

 

Preciso de uma solução que atenda a todos os browsers, ou pelo menos os mais usados .. ahueh

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais um detalhe eh que em algumas páginas busco por registro no banco de dados e nessa pagina sempre que se acrescentar um registro a pagina deverá aumentar conforme o necessario.....

 

esta meio complicado, a funcao que estou usando soh funciona no IE.

 

ta ai o cod da funcao:

 

<script language="JavaScript" type="text/javascript">

parent.document.getElementById("frame").height = document.getElementById("meio").scrollHeight + 0; //50: Margem Superior e Inferior, somadas

</script>

 

frame = id do iframe.

 

meio = div mais externo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jonathandj... o que você me aconselha usar no lugar de iframes, para o website ficar mais leve e consequentemente mais agil? Ou como usar ajax com iframes, me dá umas dicas aeê...

Compartilhar este post


Link para o post
Compartilhar em outros sites

use somente ajax.

no site você cria uma camada e define um ID. Faça a consulta com ajax e escreve a resposta dentro desta camada.

Pra facilitar no ajax procure a biblioteca feita em javascript jQuery, é de facil uso e nela tem ajax

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sou iniciante no AJAX, pode se aprofundar um pouco mais nesse assunto?? sou um fã do ajax mais ainda nao utilizei em meus sites...

 

Esta esta sendo uma otima oportunidade para iniciar!

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Laboratorio de Scripts ASP, e no de AJAX existem bons exemplos de como utilizar ajax em seu site...

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

algum que seja semelhante ao meu problema, pois tenho prazo para entregar esse meu projeto, e nao to conseguindo achar uma solução para meu problema.

 

Axo que pra muitos deve ser muito simples, pois tenho um site dividido em 3 divs topo meio e rodape, gostaria que ao chamar uma pagina, que ela seja carregada sempre dentro do div meio e que ela redimensonasse de acordo com o conteudo..

 

isso jah esta fazendo meus cabelos cairem.. hahah

Compartilhar este post


Link para o post
Compartilhar em outros sites

var url;
var xmlHttp=null;
function showPag(str)
{ 
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
url=str;
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
if (xmlHttp.readyState == 1) { 
document.getElementById("conteudo").innerHTML="<img src='loader.gif'> <br> <font face = 'verdana' color = 'CC0000' size = '2'> <b>Carregando...</b></font>";
}
return url;
}


function stateChanged() 
{ 
if (xmlHttp.readyState==4 && xmlHttp.status == 200)
{ 
var resultado = document.getElementById("conteudo").innerHTML=xmlHttp.responseText;
}
}

A função ajax é essa...

 

A div "conteudo" é a "do meio"...

 

Agora é só estudar o código e entede-lo ( não é nada dificil http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif )

 

Abraços...

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.