2011-12-14 10 views
5

Quiero cargar una página HTML como div dentro de mi página web eliminando sus etiquetas HTML y de cuerpo. Pero la página HTML tiene un <body onload=" ... " >, necesito esta función para seguir trabajando. Parece que <div onload=" ... " > no está funcionando. ¿Cómo puedo insertar esta función de carga en el cuerpo de mi sitio web (solo en esta página) sin editar directamente el código de mi sitio web original (php)?¿Cómo hacer una función de carga div?

Respuesta

3

puede utilizar jQuery.load para cargar el contenido de la página en su div

$(document).ready(function() { 
    $("#containing-div").load("[url of page with onload function]"); 
}); 

el código anterior va en la página que contiene el div. la página con la función de carga no cambia.

+1

Gracias, esto resuelve el problema! – Jenny

1

Puede agregar una etiqueta adicional de Javascript al final de la página cargada (una vez insertada dentro del div) que se ejecutará tan pronto como se cargue. De esta manera:

<div> 
    Insert the inner html content of that pages here and add this script at the bottom and add the onload function of the original html to this script. 
    <script type="javascript"> 
     alert("hello world"); 
    </script> 
</div> 

Simplemente recuerde tener el javascript disponible para su página. Lo que quiero decir es que si la función javascript llamada que se llama dentro de onload="..." se define en el documento <head> del documento html de carga y está lanzando el <head>, entonces esto no funcionará.

1

¿Alguna vez ha utilizado jQuery? Si es así, acaba de obtener el ID de su div (digamos "SomeDiv") y luego usar el método de "lista" de esta manera:

$("#SomeDiv").ready(
function(){ 
    //do stuff 
    }); 
-2

Si desea añadir el proceso de carga en un div, no se puede, pero puede agregar onkeydown y activar el evento onkeydown en la carga de documentos.

<div onkeydown="setCss();"></div> 

$(function() { 
    $(".ccsdvCotentPS").trigger("onkeydown"); 
}); 
0

No es el mejor, pero es una manera de comprobar el div periódicamente si está cargado:

var myInterval = setInterval(function() { 
if ($('.mydiv') && $('.mydiv').width() > 0) { 
// write your logic here 
clearInterval(myInterval); 
    } 
}, 3000); 
Cuestiones relacionadas