Quando aggiorno la pagina di seguito in FF 3.0, mi aspettavo che la pagina Web venisse cancellata, ma non è così.document.body.innerHTML = "" cancella la pagina web?
Perché document.body.innerHTML = ""
non cancella la pagina?
UPDATE: Sto tentando di cancellare la schermata precedente durante un aggiornamento mentre la nuova pagina si sta caricando. In realtà voglio vedere la pagina chiara, attendere e poi il prossimo js in esecuzione. Non voglio cancellare lo schermo dopo che la pagina è stata caricata.
...
<body>
<script type="text/javascript">
document.body.innerHTML = "";
for (var i = 0; i < 1000000000; i++) {
}
</script>
<img src="images/web.gif" /><br />
<script type="text/javascript">
document.write("hello<br />");
</script>
<img src="images/warning.png" /><br />
</body>
Allora, perché non può vedere questo ho visivamente? Svuoto lo schermo e attendo (il codice di ritardo) ma lo schermo ha ancora il contenuto del carico precedente. –
Perché il tuo script viene eseguito prima che qualcosa venga aggiunto al corpo, quindi non stai cancellando nulla.Nell'esempio sopra riportato, sposta il blocco
Per esporre su risposta di Douwem, nel tag script, mettere il codice in un onload:
fonte
2010-02-12 09:19:38 Erik
Non sono sicuro di quello che stai cercando di raggiungere, ma si consiglia di considerare l'utilizzo di jQuery , che consente di inserire il codice nel tag head o in un file di script separato e mantenere il codice eseguito dopo che il DOM è stato caricato.
si può quindi fare qualcosa di simile:
elementi rimuovendo così come selettivamente (tutti i DIV, solo DIV con alcune classi, etc.)
fonte
2010-02-12 09:25:20
Sto tentando di cancellare la schermata precedente durante un aggiornamento mentre la nuova pagina si sta caricando. –
Pur concordando con Douwe Maan e le risposte di Erik, ci sono un paio di altre cose che potresti trovare utili.
In primo luogo, entro i tag head, è possibile fare riferimento a un file separato JavaScript, che è quindi riutilizzabile:
dove common.js è il file funzione riutilizzabili in una directory di livello superiore chiamato comune.
secondo luogo, è possibile ritardare il funzionamento di uno script utilizzando setTimeout, es .:
Il secondo argomento è in millisecondi. Dico questo, perché sembra che tu stia cercando di ritardare qualcosa nel tuo snippet di codice originale.
fonte
2012-01-04 21:28:21
Preferisci 'setTimeout (someFunction, 5000);' per evitare la conversione e la coercizione da stringa a numero. – mwcz
Commento equo. Risposta modificata –
a cancellare il mio schermo utilizzando è funzione che
fonte
2016-12-30 13:26:26