C'è qualche gestore di eventi prima di onLoad/onPageShow? Il problema con onLoad è se ci sono dei cambiamenti nel display, la pagina apparirà senza modifiche finché non sarà completamente caricata, quindi lo script verrà eseguito. Qual è il modo migliore per assicurarti che venga eseguito il prima possibile?Javascript prima del caricamento?
risposta
Se si inseriscono le espressioni Javascript (anziché le definizioni di funzione) all'interno di un tag <script>
, verranno eseguite durante il caricamento della pagina, prima che venga attivato l'evento onLoad.
<html>
<body>
<h2>First header</h2>
<script type="text/javascript">
alert("Hi, I am here");
document.write("<h3>This is Javascript generated</h3>");
</script>
<h2>Second header</h2>
</body>
</html>
L'avvertenza è che non è possibile cercare gli elementi per ID, perché questi elementi potrebbe non essere stato ancora reso, quindi la tua capacità di cambiare pagina in questo modo è limitato.
Bottom line: possibile, non consigliato.
Cosa faccio di solito in queste situazioni è la seguente:
- fare le parti della pagina che può cambiare invisibile (via
style="visibility:hidden;"
); - Esegui su Carica eseguire un codice Javascript che modifica la pagina e imposta quindi la visibilità delle parti suddette su
visibility:visible
.
Penso che * la maggior parte * dei browser gestirà correttamente 'getElemementById' purché l'elemento sia stato precedentemente definito nel documento - tuttavia, il DOM non è garantito fino a quando l'onload non viene messo in evidenza, quindi è una pendenza ... :) –
È anche possibile utilizzare l'evento DOMContentloaded che si attiva quando il DOM è stato caricato completamente ma non tutti i supporti. OnLoad si attiva solo dopo che è stato caricato tutto il contenuto multimediale. – citadelgrad
La risposta semplice è posizionare la chiamata di funzione dopo l'elemento DOM all'interno dei tag di script, all'interno del corpo della pagina. Ho avuto questo problema utilizzando una funzione javascript per modellare i miei collegamenti del menu di navigazione, tuttavia avevo un elemento di Google Maps che ha causato il caricamento lento della pagina. In questa pagina paticolare, ho eseguito lo script subito dopo il collegamento. È una soluzione, forse non la migliore ma funziona. Spero che questo ti aiuti.
- 1. Rimuovere i file selezionati prima del caricamento con Javascript
- 2. Caricamento di più file con controllo md5 prima del caricamento
- 3. Come caricare la dimensione del file prima del caricamento
- 4. Comprimi file prima del caricamento tramite http
- 5. cosa posso inserire prima del caricamento?
- 6. JavaScript parola prima del cursore
- 7. Javascript per controllare la dimensione del file prima del caricamento in Internet Explorer
- 8. Compressione file prima del caricamento sul lato client
- 9. Asp.Net Controllare la dimensione del file prima del caricamento
- 10. Visualizzazione del caricatore Ajax prima del caricamento dei dati
- 11. Il reindirizzamento prima del caricamento POST è stato completato
- 12. Come posso eseguire la funzione Javascript prima del caricamento della pagina?
- 13. Javascript Regex Partita la prima del verificarsi
- 14. Convalida dimensione caricamento file JavaScript
- 15. Visualizza l'anteprima dell'immagine prima del caricamento in IE9
- 16. Estensione Chrome: Inietti JS prima del caricamento della pagina
- 17. immagine di ridimensionamento php su o prima del caricamento
- 18. Skipper in SailsJS (beta) ridimensionamento dell'immagine prima del caricamento
- 19. Ottieni l'altezza dell'immagine prima del suo caricamento completo
- 20. Caricamento del dump SQL prima dell'esecuzione dei test Django
- 21. Come convalidare il numero massimo di file prima del caricamento?
- 22. AJAX esegue l'evento onchange prima del caricamento della pagina
- 23. Caricamento del colore di sfondo CSS rgba prima dell'opacità
- 24. Come impedire il caricamento del video html5 prima della riproduzione?
- 25. Avvisa che un file è troppo grande prima del caricamento
- 26. AngularJS: come caricare il feed JSON prima del caricamento dell'applicazione?
- 27. Convalida estensione file in AngularJs prima del caricamento
- 28. Pickle Python: correzione \ r caratteri prima del caricamento
- 29. Rimandare JavaScript in caricamento
- 30. caricamento/esecuzione asincroni javascript
Gli elementi di script inline sincroni verranno eseguiti prima di tali eventi. –