 
			
				28/05/2012, 08:43
			
			
			     |  
      |    |    |    Fecha de Ingreso: mayo-2012  
						Mensajes: 4
					  Antigüedad: 13 años, 5 meses Puntos: 0     |        |  
  |      Respuesta: Iframe Redimensionable con pagina en otro dominio        encontre solucion para  que me redimensione a la altura pero me surgio otro...., si le doy a alguna pestaña o enlace interno, me redirecciona a la pagina del principio(la que pongo en el src del iframe) 
 os pongo aqui el codigo a ver si alguien me puede hechar una mano con este problema >.< 
html1: 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
    <title>IFrame Resize Sample</title> 
    <script type="text/javascript" src="FrameManager.js"></script> 
</head> 
<body> 
    <div>The Following is an iframe:</div> 
    <iframe id="ifrSample1" scrolling="no" frameborder="0" src="www.paginaExterna.com" style="margin:0px;width:100%;height:100px" onload="FrameManager.registerFrame(this)">   
    </iframe> 
</body> 
</html>   
js de este html:     
// FrameManager.js -- Must be added in Hosting window 
var FrameManager = 
{ 
    currentFrameId : '', 
    currentFrameHeight : 0, 
    lastFrameId : '', 
    lastFrameHeight : 0, 
    resizeTimerId : null,   
    init : function() 
    { 
        if (FrameManager.resizeTimerId == null) 
        { 
            FrameManager.resizeTimerId = window.setInterval(FrameManager.resizeFrames, 500); 
            resizeTimerId = null; 
        } 
    },   
    resizeFrames : function() 
    { 
        FrameManager.retrieveFrameIdAndHeight();   
        if ((FrameManager.currentFrameId != FrameManager.lastFrameId) || 
            (FrameManager.currentFrameHeight != FrameManager.lastFrameHeight)) 
        { 
            var iframe = document.getElementById(FrameManager.currentFrameI  d.toString());   
            if (iframe == null) return;   
            iframe.style.height = FrameManager.currentFrameHeight.toString() + "px";   
            FrameManager.lastFrameId = FrameManager.currentFrameId; 
            FrameManager.lastFrameHeight = FrameManager.currentFrameHeight; 
            window.location.hash = ''; 
        } 
    },   
    retrieveFrameIdAndHeight : function() 
    { 
        if (window.location.hash.length == 0) return;   
        var hashValue = window.location.hash.substring(1); 
        if ((hashValue == null) || (hashValue.length == 0)) return;   
        var pairs = hashValue.split('&');   
        if ((pairs != null) && (pairs.length > 0)) 
        { 
            for(var i = 0; i < pairs.length; i++) 
            { 
                var pair = pairs[i].split('=');   
                if ((pair != null) && (pair.length > 0)) 
                { 
                    if (pair[0] == 'frameId') 
                    { 
                        if ((pair[1] != null) && (pair[1].length > 0)) 
                        { 
                            FrameManager.currentFrameId = pair[1]; 
                        } 
                    } 
                    else if (pair[0] == 'height') 
                    { 
                        var height = parseInt(pair[1]);   
                        if (!isNaN(height)) 
                        { 
                            FrameManager.currentFrameHeight = height; 
                            FrameManager.currentFrameHeight += 15; 
                        } 
                    } 
                } 
            } 
        } 
    },   
    registerFrame : function(frame) 
    { 
        var currentLocation = location.href; 
        var hashIndex = currentLocation.indexOf('#'); 
        if (hashIndex > -1) 
        { 
            currentLocation = currentLocation.substring(0, hashIndex); 
        } 
        frame.contentWindow.location = frame.src + '?frameId=' + frame.id + '#' + currentLocation; 
    } 
};   
window.setTimeout(FrameManager.init, 300);         
					
						Última edición por Siroman; 28/05/2012 a las 10:53           |