2012-01-20 23 views
34

C'è in HTML (javascript) o altro html tecnologia statica possibile:Come smettere di caricamento della pagina in pagina statica HTML

  • pagina arresto di carico (se il browser non scarica ancora)
  • pagina interrompere il rendering (da cui il codice inserito)
  • arresto javascript eseguito (da cui il codice inserito)

In poche parole, c'è un codice come

<script>window.StopWhateverBelow()</script> 

Per consentire al browser di ignorare completamente ciò che si trova sotto il codice.

UPDATE

Capisco il browser può già scaricare il tutto. Quello che voglio è, dal codice, la pagina deve essere interrotta, ad esempio: se inserisco il codice subito dopo il <body> il visitatore dovrebbe vedere la pagina vuota, se inserisco il codice al centro della pagina, la pagina dovrebbe essere solo la metà di quella che hai premuto ESC

RISPOSTA

Come suggerito Bukko, commenti fatto il trucco. Ma non pieno, solo la metà Se metti <!-- nella pagina html, il resto verrà ignorato. E in Javascript

document.write('<!--'); 

Fatto il trucco.

Per circa un senso:

Ecco come questo codice ha senso: quando la pagina di carico alcuni script offpage, lo script è dinamico. Quando il codice di script trovato qualcosa di sbagliato (o abbinare una certa condizione), si dispone di un'opzione più per fermare la pagina dal rendering, caricamento, download ...

+1

non avrebbe alcun senso. Che cosa vuoi fare ? –

+0

stai chiedendo la possibilità di aggiungere commenti senza che vengano mostrati al visitatore medio? Non ha senso impedire al browser di interpretare qualcosa ... – Jakub

+0

@ LoïsDiQual Questo tipo di commenti negativi è inappropriato. Mi sono appena imbattuto in un caso d'uso corretto per questo (più di 5 anni dopo!) E sono molto felice che questa domanda abbia ricevuto buone risposte, piuttosto che essere downvoted per essere alquanto inusuale. – vog

risposta

18

Se hai già commenti html sulla tua pagina, la soluzione di @ bukko non funziona completamente. Roba dopo che il commento html verrà visualizzato normalmente.

Un'altra cosa da provare è:

document.write('<script type="text/undefined">') 

Il resto del documento verrà interpretato come parte del tag script, e perché lo script non è text/javascript, esso viene ignorato.

Ha funzionato per me, ho pensato di condividerlo.


Modifica

Ho visto il trucco script non funziona in Chrome.

Questo funziona, ma non ho fatto test approfonditi del browser:

document.write('<style type="text/undefined">') 
+0

(Chrome) lo chiude automaticamente con '' dopo ogni tentativo di fare questo – Owyn

5

Beh, c'è: <!-- terminated by --> per HTML, ma gli script farà ignoralo.

+0

sei sicuro? Non funziona –

1

HTML è un contenuto statico in modo che il server legga tutto ciò che è stato scritto nel file, a meno che non lo si commenta. Per un file dinamico come quello che stai chiedendo devi usare php che può fare questo tipo di cose.

+1

Ci sono altre opzioni se vuoi creare pagine dinamiche non solo php –

3

Quello che chiedi non ha alcun senso logico. Semplicemente per due motivi:

  • dati è già inviato all'utente (HTML/JS) quindi, anche tho se si potrebbe nascondere il contenuto, i dati sarebbero sitll essere lì per un utente di vedere (se Visualizza sorgente di esempio).
  • Perché dovresti interrompere l''esecuzione' di una pagina? Carica una semplice struttura html e reults in un display visivo, dovresti concentrarti sul sito del server (php per esempio) per nascondere o non inviare il contenuto in primo luogo.

Se si desidera nascondere visivamente elementi tho, è possibile utilizzare gli stili CSS (per nascondere div o simili) con la semplice aggiunta di style="display:none;" ad un div in questo modo:

<div style="display:none;"> 
This text will be downloaded by the user, but hidden from view due to CSS inline style 
</div> 

Se si desidera aggiungere commenti (questo è solo per riferimento), quindi utilizzare la formattazione commento:

<!-- this is a comment and will not show up to a user --> 

di riferimento per i commenti: http://htmlhelp.com/reference/wilbur/misc/comment.html

46

Si potrebbe fare window.stop(); per la maggior parte dei browser oltre a Internet Explorer. Per IE, ho dovuto usare document.execCommand('Stop');

+2

Perché dovresti importare jQuery per quelle funzioni? Dovrebbero funzionare senza jQuery. – XP1

+0

corretto! Grazie per il consiglio! Il browser – cyberboxster

3

messo window.Stop() dove si vuole per fermare la pagina di dall'ottenere renderred

16
window.stop(); //works in all browsers but IE  
if ($.browser.msie) {document.execCommand("Stop");}; //works in IE, 

Document.ExecCommand funziona in IE, tuttavia blocca alcune funzioni di FF, NS e di altri browser. Ad esempio, come visualizzare l'animazione GIF. L'uso di "se il browser è IE" rende questi due codici perfettamente funzionanti in tutti i browser.

1

Solo non molto correlato alla domanda, ma ho pensato che potrebbe essere utile per alcune persone. Se si desidera passare a un'altra pagina durante il caricamento della pagina utilizzare window.location = "somepage.html"; oppure è possibile reindirizzare gli utenti alla pagina precedente: window.history.go(-1); utili in JavaScript istruzioni condizionali

+0

La pagina continuerà a essere visualizzata, indipendentemente da quanto brevemente visualizzata, usando questo. – whitebeard

1

Se si utilizza ASP o PHP, il protocollo HTTP si arresta automaticamente, ma il protocollo HTTPS don' t si ferma automaticamente.

Per fermarlo utilizzare:

in ASP: codice

dim r= accept.secure.protocol 
r.onload=window.callback('c') 

//to firefox,opera,safari 

new clientObject(r).access() 
// to chrome,ie 

forEachElement(a==null); 

PHP:

$a.window ; 

Tutto questo script invia il browserstring "elementcast" di metodo post

1

È potrebbe anche nascondere il corpo in questo modo:

var style = document.createElement("style"); 
style.innerHTML="body { display:none !important; }"; 
document.getElementsByTagName("HEAD")[0].appendChild(style); 
0

I metodi di arresto possono rompere cose che hanno già iniziato a caricare.

Se si desidera caricare tutto sopra un certo punto e saltare tutto sotto un certo punto:

<p>Everything works above this point.</p> 
<pre style="display: none !important;"> 
<p>As long as the PRE tag remains open, 
nothing works below this point</p> 
<script>document.write('Nope'); 
Problemi correlati