Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/04/2007, 20:46
Avatar de DragonX
DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años, 6 meses
Puntos: 177
Re: Redimencionar iframe

Probá con esto:

Código HTML:
/***********************************************
* 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=["contenido"]

//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=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;
}

function popWindows(url,newWindows,pResizable,pScrollbars,pMenuBar,pToolBar,pStatus,pWidth,pHeight){
	newWindows=window.open(url,newWindows,"resizable="+ pResizable +",scrollbars="+ pScrollbars +",menubar="+ pMenuBar +",toolbar="+ pToolBar +",status="+ pStatus +",width=" + pWidth + ",height=" + pHeight)
}

//funcion para enviar la variable recibida como parametro al swf
function setSWF(varSwf, contVarSwf) {
	//chequeo si el objeto de flash existe..
	if (window.document.menuswf) {
		//envio la variable a flash en el _root.
		window.document.menuswf.SetVariable(varSwf, contVarSwf);
	}
}

// Chequeo destino y si tiene "http" (o sea algo que no es movistar) alpiste
destino = FORM_DATA['destino'];
if (destino) {
	if ( destino.indexOf("http") != -1 ) {
		destino = '';
	}
} 
//alert(destino);
-->
</script> 
Dentro del tag <body> pone esto:

Código HTML:
onLoad="javascript:loadintoIframe('contenido', destino ? destino : 'tu_pagina');
Espero te sirva....

nota: por si acaso, podes verlo funcionar en www.movistar.com.ar
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho