2012-01-20 15 views
34

¿Hay en HTML (JavaScript) u otra tecnología HTML estático puede:Cómo dejar de carga de la página en la página HTML estática

  • página Detener la carga (si el navegador no descarga aún)
  • página detener el procesamiento (de donde el código colocado)
  • parada en JavaScript del (de los que el código colocado)

en pocas palabras, ¿existe un código como

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

Para permitir que el navegador ignore por completo lo que está debajo del código.

ACTUALIZACIÓN

entiendo el navegador ya puede descargar toda la cosa. Lo que quiero es, desde el código, la página debe detenerse, por ejemplo: si puse el código justo después de <body>, el visitante debería ver la página en blanco, si pongo el código en el medio de la página, la página debería ser la mitad que presionó ESC

RESPUESTA

Como sugirió Bukko, comentarios hace el truco. Pero no está lleno, solo la mitad Si coloca <!-- en la página html, el resto será ignorado. Y en Javascript

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

Hecho el truco.

Para cerca de tener sentido:

Aquí es cómo este código tiene sentido: cuando se carga la página una secuencia de comandos de salida de página, el guión es dinámico. Cuando el código de script encontró algo mal (o coincide con alguna condición), usted tiene una opción más para detener la página de representación, carga, descarga ...

+1

No tendría ningún sentido. Qué quieres hacer ? –

+0

¿está solicitando la posibilidad de agregar comentarios sin que se muestren al visitante promedio? No tiene sentido impedir que el navegador interprete nada ... – Jakub

+0

@ LoïsDiQual Este tipo de comentarios negativos es inapropiado. Acabo de tropezar con un buen caso de uso para esto (¡más de 5 años después!) Y estoy muy contento de que esta pregunta haya recibido buenas respuestas, en lugar de ser downvoted por ser algo inusual. – vog

Respuesta

18

Si ya tiene comentarios html en su página, la solución de @ bukko no funciona del todo. Cosas después de que el comentario html se renderice normalmente.

Otra cosa a intentar es:

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

El resto del documento consigue interpretarse como parte de la etiqueta script, y porque el guión no es text/javascript, que es ignorada.

Funcionó para mí, pensé en compartirlo.


Editar

he visto el script truco no funciona en Chrome.

Esto funciona, pero no he hecho numerosas pruebas navegador:

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

(Chrome) lo cierra automáticamente con '' después de cualquier intento de hacerlo – Owyn

5

Bueno, no es: <!-- terminated by --> para HTML, pero scripts ignora esto.

+0

¿estás seguro? No funciona –

1

HTML es un contenido estático por lo que el servidor lee todo lo que ha escrito en el archivo a menos que lo comente. Para un archivo dinámico como el que está pidiendo, debe usar php, que puede hacer este tipo de cosas.

+1

. Hay otras opciones si desea compilar páginas dinámicas no solo php –

3

Lo que estás preguntando no tiene sentido lógico. Simplemente por dos razones:

  • datos se envían YA al usuario (HTML/JS) por lo que incluso aunque si se pudiera ocultar el contenido, los datos sitll estaría allí para un usuario para ver (si es que vista de origen, por ejemplo,)
  • ¿Por qué dejaría de 'ejecución' de una página? Carga una estructura html simple y los resultados en una pantalla visual, debe centrarse en el sitio del servidor (por ejemplo, php) para ocultar o no enviar el contenido en primer lugar.

Si desea ocultar visualmente elementos Tho, usted podría utilizar estilos CSS (divs ocultar o similares) con la simple adición de style="display:none;" a un div de este modo:

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

Si desea añadir comentarios (eso es sólo para su referencia), a continuación, utilizar el formato de comentario:

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

de referencia para los comentarios: http://htmlhelp.com/reference/wilbur/misc/comment.html

46

Puede hacer window.stop(); para la mayoría de los navegadores además de Internet Explorer. Para IE, tuve que usar document.execCommand('Stop');

+2

¿Por qué debería importar jQuery para esas funciones? Deberían funcionar sin jQuery. – XP1

+0

¡Reparado! ¡Gracias por el consejo! El explorador – cyberboxster

3

poner window.Stop() donde desea detener la página de conseguir renderred

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

Document.ExecCommand funciona en IE, pero detiene algunas de las funciones de FF, NS y de otros navegadores. Como mostrar la animación de GIF, por ejemplo. El uso de "si el navegador es IE" hace que estos dos códigos funcionen perfectamente en todos los navegadores.

1

Simplemente no tiene mucho que ver con la pregunta, pero creo que puede ser útil para algunas personas. Si desea saltar a otra página durante la carga de la página usar window.location = "somepage.html"; o puede redirigir a los usuarios a la página anterior: window.history.go(-1); útil en JavaScript sentencias condicionales

+0

La página seguirá apareciendo, sin importar cuán brevemente se muestre, usando esto. – whitebeard

1

Si está utilizando ASP o PHP, el protocolo HTTP se detiene automáticamente, pero el protocolo HTTPS Don' se detiene automáticamente

Para retirar el dispositivo:

En ASP: Código

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 ; 

Todas estas secuencias de comandos envía el browserstring "elementcast" por el método de post

1

Usted también podría ocultar el cuerpo así:

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

Los métodos de parada pueden romper cosas que ya comenzaron a cargarse.

Si desea cargar todo por encima de un cierto punto y saltar todo por debajo de un cierto 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'); 
Cuestiones relacionadas