Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Javascript (http://www.forosdelweb.com/f13/)
-   -   iframe con tamaño dinamico, alguien sabe hacerlo? (http://www.forosdelweb.com/f13/iframe-con-tamano-dinamico-alguien-sabe-hacerlo-317223/)

klisto 16/07/2005 05:49

iframe con tamaño dinamico, alguien sabe hacerlo?
 
Hola!

bueno tengo un iframe en una page html. y ahi dentro se cargan las otras pages tocando sobre un menu... el problema es q cada contenido llamoslo conte1 conte2 no son = en altura por lo tanto el iframe se deberia adaptar a los dos. estuve buscando por la inter y dicen q con code javascript se puede hacer pero no encontre naa... bueno si alguien sabe como hacerlooo q me ayudeee. graciasssss

Saludos c-youuu

sonyweb 16/07/2005 09:08

a ver si te sirve esto
Código:

  <html>
<head>
<script type="text/javascript">

/***********************************************
* IFrame SSI script II- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
* Visit DynamicDrive.com for hundreds of original DHTML scripts
* This notice must stay intact for legal use
***********************************************/

//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
var iframeids=["foro"]

//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide="yes"

var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById)
resizeIframe(iframeids[i])
//reveal iframe for lower end browsers? (see var above):
if ((document.all || document.getElementById) && iframehide=="no"){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}

function resizeIframe(frameid){
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display="block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight;
else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener("load", readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent("onload", readjustIframe) // Bug fix line
currentfr.attachEvent("onload", readjustIframe)
}
}
}

function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}

function loadintoIframe(iframeid, url){
if (document.getElementById)
document.getElementById(iframeid).src=url
}

if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller

</script>

</head>
<body>

blah...

<iframe id="foro" src="foro.php" frameborder="0" framespacing="0" scrolling="auto" border="0" width="100%">
</iframe>

blah...


klisto 16/07/2005 18:43

Holaaa!

graciasss amigoo lo voy a probar y te cuentooooooooo :aplauso: :arriba:

llcg 01/05/2006 03:04

a mi me sirvio bastante este pruebalo es muy sencillo

<!-- funcion para no mostras el scroll y hacer lel frame se adapte al a pagina que contiene -->

function reSize()
{
try{
var oBody = ifrm.document.body;
var oFrame = document.all("ifrm");

oFrame.style.height = oBody.scrollHeight + (oBody.offsetHeight - oBody.clientHeight);
oFrame.style.width = oBody.scrollWidth + (oBody.offsetWidth - oBody.clientWidth);
}
//An error is raised if the IFrame domain != its container's domain
catch(e)
{
window.status = 'Error: ' + e.number + '; ' + e.description;
}
}

<!-- fin de funcion para cambiear los tamanhos del frame -->




luego invocas la funcion desde el onload del iframe de esta manera

<iframe onload=reSize() id=ifrm name="contenido" height="100%" width="100%" frameborder="0" scrolling="no">

espero que te sirva saludos

vickyvxr 13/05/2006 03:42

Ese script funciona muy bien en internet explorer pero en firefox no va :neurotico ¿Alguien me puede echar una mano plz?????

Thx :corazon:

vickyvxr 14/05/2006 03:47

Ya lo hice sola, si alguien quiere el codigo (no lo posteo pq esta adaptado a mi página que me envie un mail ) :si:

eeelnico 17/05/2007 09:18

Re: iframe con tamaño dinamico, alguien sabe hacerlo?
 
hola vicky, esto es del año pasado pero tal vez lo tenes a mano.
yo estoy haciendo un resize de un iframe asi:

var navFoldersFrame = document.getElementById("emailNavFolders");
navFoldersFrame.style.width = 140;

que funciona perfectamente en IE, pero no en firefox...
asi que si sabes cómo, te agradezco

fercho_c 31/10/2007 14:15

Re: iframe con tamaño dinamico, alguien sabe hacerlo?
 
Cita:

Iniciado por vickyvxr (Mensaje 1545858)
Ya lo hice sola, si alguien quiere el codigo (no lo posteo pq esta adaptado a mi página que me envie un mail ) :si:



oye crees que me puedas pasar el codigo del frame dinamico

ebalmaceda 03/11/2007 11:46

Re: iframe con tamaño dinamico, alguien sabe hacerlo?
 
Estube buscando esto y me viene muy bien!!! Me pasan el codigo por favor?

kaninox 03/11/2007 12:35

Re: iframe con tamaño dinamico, alguien sabe hacerlo?
 
pues deberia colgar su codigo, es la idea de los foros no...
si no cual es la idea de pedir ayuda y yo decir si me mandas mail te lo paso X)
la idea es discutirlo poder mejorlarlo y prestarlo a quienes lo necesiten no ;)

ebalmaceda 03/11/2007 14:33

Re: iframe con tamaño dinamico, alguien sabe hacerlo?
 
Si, pienso igual que vos, pero dice que no lo puede colgar poque esta adarpado a su web....

kaninox 04/11/2007 10:13

Re: iframe con tamaño dinamico, alguien sabe hacerlo?
 
vamos que aqui todos sabes desadaptar un codigo para que nos funcione :P

kali-mero 29/04/2008 21:30

Re: iframe con tamaño dinamico, alguien sabe hacerlo?
 
sonyweb, he probado tu código.

No consigo que la altura del iframe se mueva en Firefox lo más mínimo. Da la impresión de que está sujeta a una altura prefijada y de ahí no se mueve.
Tengo que decir que yo apunto en src a un archivo html y no php como tu pusiste...

llcg también he probado tu código y no consigo que aumente la altura.............estoy empezando a desesperar.......arrghhhhhh

astemu 15/10/2008 12:47

Respuesta: iframe con tamaño dinamico, alguien sabe hacerlo?
 
uu
muchas gracias esto justo me sirvió
para la aplicación que estoy realizando

R0ckET 19/03/2009 13:47

Respuesta: iframe con tamaño dinamico, alguien sabe hacerlo?
 
Con jquery puedes usar esto y sirve para todos los navegadores.

<iframe onload="javascript:resize()" src="secciones/catalogo/index.php" height="100%" width="100%" frameborder="0" scrolling="no" name="frm_catalogo" id="frm_catalogo"></iframe>

<script type="text/javascript">
function resize() {
height = $("#frm_catalogo").contents().find("body").outerHe ight();

$("#frm_catalogo").attr("height", height + "px");
}
</script>

webosiris 19/03/2009 15:31

Respuesta: iframe con tamaño dinamico, alguien sabe hacerlo?
 
por favor no revivir temas viejos.


La zona horaria es GMT -6. Ahora son las 10:36.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.