2011-12-14 14 views
5

Desidero caricare una pagina HTML come div all'interno della mia pagina Web rimuovendo i suoi tag HTML e body. Ma la pagina HTML ha un <body onload=" ... " >, ho bisogno di questa funzione per continuare a lavorare. Sembra che <div onload=" ... " > non funzioni. Come posso inserire questa funzione onload nel corpo del mio sito web (solo su questa pagina) senza modificare direttamente il mio codice sito originale (php)?Come creare una funzione di carico su div?

risposta

3

è possibile utilizzare jQuery.load per caricare il contenuto della pagina nella tua div

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

il codice va sopra nella pagina che contiene il div. la pagina con la funzione onload non viene modificata.

+1

Grazie, questo ha risolto il problema! – Jenny

1

È possibile aggiungere un ulteriore tag Javascript alla fine della pagina caricata (una volta inserita all'interno del div) che verrà eseguita non appena caricata. Come questo:

<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> 

Basta ricordare di avere il javascript disponibile per la tua pagina. Quello che voglio dire è che se la funzione javascript chiamata che è chiamata all'interno di onload="..." è definita nel documento <head> del documento HTML in caricamento e stai lanciando il <head> fuori allora questo non funzionerà.

1

Hai mai utilizzato jQuery? Se è così, basta avere l'id del div (diciamo "SomeDiv") e quindi utilizzare il metodo "pronto" come questo:

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

Se si desidera aggiungere l'evento onload su un div, non è possibile, ma puoi aggiungere onkeydown e attivare l'evento onkeydown sul caricamento del documento.

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

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

Non il migliore, ma è un modo per controllare il div periodicamente se è caricato:

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