Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/12/2008, 09:15
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 6 meses
Puntos: 834
Respuesta: Bloquear iframe mientras se carga contenido

A ver:
Página Principal (top):
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
title>test</title>
<
style>
*{
padding:0margin:0}
html,body{height:100&#37;; width:100%}
#loading{ width:100%; height:100%; background-color:#000; opacity:.5; filter:alpha(opacity=50);zoom:1; position:absolute}
</style>
<
script>
function $(
id){
    return 
document.getElementById(id);    
}

var 
asignar=setInterval(function(){
    try{
        var 
padreDoc=$('padre').contentDocument || $('padre').contentWindow.document;
        var 
hijo=padreDoc.getElementById('hijo');
    }catch(
e){
    }
    if(
hijo && typeof hijo!='undefined'){
        if(
window.ActiveXObject){//explorer
            
$('loading').style.display='none';
            
hijo.onreadystatechange=function(){
                $(
'loading').style.display='block';
                if(
hijo.readyState=='complete'){
                       $(
'loading').style.display='none';
                }
            }
            
clearInterval(asignar);
            return;
        }
        try{
//safari
            
var docNieto=hijo.contentDocument || hijo.contentWindow.document;
            var 
sc=docNieto.createElement('script');
            
sc.text='self.onunload=function(){top.$("loading").style.display="block";}';    
            
docNieto.body.appendChild(sc);            
            $(
'loading').style.display='none';
        }catch(
e){}
        
hijo.onload=function(){//safari y resto
            
var docNieto=hijo.contentDocument || hijo.contentWindow.document;
            var 
sc=docNieto.createElement('script');
            
sc.text='self.onunload=function(){top.$("loading").style.display="block";}';    
            
docNieto.body.appendChild(sc);            
            $(
'loading').style.display='none';
        }
        
        
clearInterval(asignar);    

    }
},
10);
</script>
</head>
<body>
<div id="loading"></div>
<iframe id="padre" src="hijo.html?hdh" width="500" height="500"></iframe>
</body>
</html> 
hijo.html:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
</
head>

<
body>
<
iframe id="hijo" src="nieto.html" width="500" height="500"></iframe>
</
body>
</
html
nieto.html: lo que sea.

Última edición por Panino5001; 20/12/2008 a las 15:04 Razón: Mejora