Olá pessoal,
no site tenho um iframe, gostaria de fazer uma função para ler a altura da página que vai jogar nesse iframe e setar a altura do iframe com este valor, pra não precisar de barra-de-rolagem no iframe.
no meu site o html é gerado por um CGI, e as páginas do Iframe também são geradas por outro CGI, mas não consegui fazer nada em Shell Script que resolva este caso.
Grato.
[2] Enviado em 11/08/2012 - 00:08h Re: Como pegar altura de uma página e colocar em outra?
var H = $('body').height(); // pega altura de um elemento no caso o body
$('#id_do_iframe').height(H); // seta a altura de um elemento, no caso um emento com id=id_do_frame
[5] Enviado em 11/08/2012 - 12:29h Re: Como pegar altura de uma página e colocar em outra?
eu sou verde meio verde em javascript e totalmente com Jquery
mas eu já entendi +- a lógica, fiz um teste aqui assim:
<html><head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<iframe src="blank.html" width="386" id="frame"></iframe>
<script type="text/javascript">
var H = $('body').height(); // pega altura de um elemento no caso o body
$('#frame').height(H); // seta a altura de um elemento, no caso um emento com id=id_do_frame
document.write('A altura é ', H);
</script>
</body>
</html>
Beleza setou o a altura do iframe como a altura da Body
Só esta parte que não entendi bem, devo criar a variável "var H..." em cada página que vai ser carregada dentro desta frame e depois na index que tem este iframe eu coloco:
$('#frame').height(H);
Seria +- isso?
Obrigado!
[6] Enviado em 11/08/2012 - 12:41h Re: Como pegar altura de uma página e colocar em outra?
Seu id do iframe é 'frame' mesmo?, no seu código tava 'mainframe'...
Sobre a altura, basta fazer setar no javascript mesmo, ele vai setar a altura do iframe, não precisa mexer na página index do iframe.
então o ID ai foi outro pois criei um html do zero pra testar.
não consegui fazer, por exemplo este é meu index.html:
<html><head><script type="text/javascript" src="jquery.js"></script></head>
<body>
<iframe src="blank.html" width="386" id="frame"></iframe>
<script type="text/javascript">
$('#frame').height(H);
</script>
</body>
</html>
E o blank.html:
<html><head><script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var H = $('body').height(); // pega altura de um elemento no caso o body
</script>
</head>
<body>
<p>asdas</p>
<p>dasdas</p>
</body>
</html>
Mas ele dá erro "objeto esperado"
[8] Enviado em 14/08/2012 - 15:19h Re: Como pegar altura de uma página e colocar em outra?
<html>
<head>
<script type="text/javascript" src="../_js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var H = $(window).height(); // pega altura de um elemento no caso o window
$('#frame').height(H - 100); // configura a altura do frame
});
</script>
</head>
<body>
<iframe src="blank.html" id="frame"></iframe>
</body>
</html>
* o código da página blank.html não precisa ser alterado, ele não precisa ter nenhum javascript, caso não deseje...
<html>
<head>
<script type="text/javascript" src="../_js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var H = $(window).height(); // pega altura de um elemento no caso o window
$('#frame').height(H - 100); // configura a altura do frame
});
</script>
</head>
<body>
<iframe src="blank.html" id="frame"></iframe>
</body>
</html>
* o código da página blank.html não precisa ser alterado, ele não precisa ter nenhum javascript, caso não deseje...
pega o blank.html e escreva mais uma meia dúzia de linhas nele, então atualize o index. O iframe continua com o mesmo tamanho e com a barra de rolagem, e se o blank for menor o Iframe também não diminui o tamanho =/
[12] Enviado em 16/08/2012 - 10:18h Re: Como pegar altura de uma página e colocar em outra?
Funcionou sim, lembrando que é javascript, se mudou o blank.html tem que atualizar a página e sobre ele ficar pequeno e o tamanho não mudar isso foi vc quem pediu, pediu pra ele ficar com o tamanho da página..... foi o que fiz....