tomar todos tibia puro para noche malo los limon jugo fria durante dormir dias contraindicaciones con beneficios ayunas antes agua adelgazar javascript hash internet-explorer location reload

javascript - todos - tomar jugo de limon puro



javascript location.hash refrescante en IE (9)

Aquí hay una solución de navegador cruzado. Funciona en IE, Chrome, Safari y FF (probado con las últimas versiones).

var pos = location.href.indexOf(''c=''); location = (pos < 0 ? location + (location.href.indexOf(''?'') < 0 ? ''?'' : ''&'') : location.href.substring(0, pos)) + ''c='' + Math.floor(Math.random()*11) + ''#'' + comment_id ;

Básicamente, aprovecho la cadena de consulta ("?") Para activar la recarga de página con hash. Lo que hace la primera línea es comprobar si existe nuestra cadena de consulta "dorada" (yo uso la variable "c" que significa "comentario"). Si hay,

  1. la nueva URL tendrá todo antes de esa "c =";
  2. luego agrega nuestra "c =" dorada + un número aleatorio entre 0 y 10 + "#" + mi ID de comentario al que el navegador debe saltar cuando se vuelve a cargar.

Si no hay,

  1. la nueva URL tendrá todo lo que antigua URL solía tener;
  2. si la antigua URL ya contiene alguna otra cadena de consulta (algo después de "?"), agregue un operador de consulta de consulta "&";
  3. si no es "?", luego agrégalo;
  4. luego sigue la consulta "dorada" mencionada anteriormente.

La razón por la que agrego un número aleatorio después de "?" es que después de la primera recarga hay algo como "? # comment-10". En este caso, el siguiente cambio en la URL no volverá a cargar la página, ya que el navegador la entiende como una instrucción de salto de anclaje.

Para forzar la recarga, debemos agregar algo aleatorio a la consulta para que la nueva URL sea diferente de la anterior.

Esta solución funcionará en todos los navegadores y se asegurará de que la recarga no rompa la consulta existente. La única nota es asegurarse de que su nombre de variable de consulta "dorado" sea único.

Espero que esto ayude.

Necesito modificar el hash, eliminarlo después de que se realice cierto procesamiento, de modo que si el usuario se actualiza no provoque que el proceso vuelva a ejecutarse.

Esto funciona bien en FF, pero parece que IE se recarga cada vez que trato de cambiar el hash. Creo que está relacionado con otras cosas que se están cargando en la página, aunque no estoy seguro. Tengo un iframe que se carga (relacionado con el proceso), así como algunos scripts que aún se están recuperando en la ventana principal.

Parece que no puedo encontrar una buena manera de cambiar el hash una vez completada la carga. Y, al mismo tiempo, ni siquiera estoy seguro de que esté relacionado con la carga.

¿Alguna idea sobre cómo resolver esto?

Comportamiento más extraño: el hash proviene de otra parte de la aplicación web a través de un redireccionamiento. He encontrado que si simplemente agrego el hash a mano, al agregar #myid a la url, no se vuelve a cargar. No importa si ingreso el hash en una página que ya se ha cargado (agregando # myid a la url ya existente) o ingresando la URL completa en una nueva pestaña.


El problema es que " el hash proviene de otra parte de la aplicación web a través de un redireccionamiento ". Si usa javascript para redirigir la url en el cliente de esta manera:

location.href = ''test1.aspx#testhash''

estará bien !

Así que este es el error de IE: cuando se trata de una aplicación web mediante una redirección, el navegador solo puede ver la URL previa, por lo que cuando modifiques la location.hash , el navegador verá un cambio de URL, por lo que actualizará la página.


El problema similar existía en mi proyecto. Pero no pudimos usar los métodos descritos anteriormente, porque cuando IE actualizaba una página, los datos preinstalados se restablecían. Entonces, usamos la función del navegador. Cuando hace clic para la etiqueta ''a'', el evento onClick se realiza en primer lugar y luego del navegador de eventos utiliza el atributo ''href'' para redireccionar. Cuando IE usa href con hash para redireccionar, no existe recarga. Por lo tanto, puede usar el evento onClick para invocar el procesamiento del lado del servidor (__ doPostBack para asp.net, por ejemplo) y cuando se ejecutará el procesamiento, el navegador usará el atributo ''href'' para redireccionar. Por lo tanto, la página nueva no se volverá a cargar. También puede usar window.location = yourNewLocationWithHash invocando después del procesamiento del lado del servidor. Espero que esta ayuda =)


Estaba enfrentando este problema, como se sugirió en una de las respuestas, el problema fue solo cuando se realizó una redirección 302/301. El cambio de hash no se vuelve a cargar si la página no fue redirigida. Estaba redireccionando usando PHP y no quería usar una cookie para detener la redirección.

Más sobre este tema también estaba en algunos navegadores IE9, probamos 5 navegadores IE9, 4 volvieron a cargar la página.

Aquí hay una solución agregada en la sección principal:

<!--[if lt IE 10]> <script type="text/javascript"> if(window.location.hash.replace(''#'','''').length > 0 && window.location.hash.search(''stopredirectioninie'') == -1) { window.location.href = window.location.href+''&stopredirectioninie''; } </script> <![endif]-->


Me parece que si cambias el hash, básicamente estás cambiando la ubicación de la página, y entonces IE (o cualquier navegador) se volvería a cargar. ¿Cómo estás tratando de hacer esto? window.location.hash = ""; ?

Quizás Firefox es lo suficientemente inteligente como para ver lo que estás haciendo y evitar la actualización.


Si usa javascript para establecer el hash, no use un "#"

window.location.hash = ''#foo''; //IE will reload the page window.location.hash = ''foo''; //IE will set the hash but will not reload the page


Tuvimos el mismo problema.

En nuestro caso, consistía en una URL http que fue redirigida a https por Apache. Como la cadena después del signo hash nunca se pasa al servidor, se perdió.


Esto parece ser un error con Internet Explorer (probado con 7 y 8).

Cambiar window.location.hash no debería dar como resultado una recarga, y es una técnica de JavaScript común usar hash para mantener el estado.

Si carga manualmente una página y cambia el hash usando JavaScript, funcionará.

El problema es cuando se le redirige a la página desde una ubicación diferente (es decir, usando el encabezado HTTP "Ubicación"), y luego modificar el hash dará como resultado una recarga.

Para evitar este error, puedes:

1) Si puede controlar el redireccionamiento, puede reemplazar el encabezado de la ubicación con algo de HTML.

<html> <head> <meta http-equiv="refresh" content="0; url=__REDIRECT_LOCATION__"> <script>window.location = "__REDIRECT_LOCATION__";</script> </head> </html>

2) De lo contrario, podría intentar volver a cargar la página cuando esté cargada. Para evitar un ciclo de recarga, es posible que deba establecer una cookie.

window.location = window.location; // window.location.reload() didn''t work. In pseudo code: // if is Internet Explorer // if ( cookie "reloadPerformed" is not set ) // set cookie "reloadPerformed" = "1" // reload page // else // clear cookie "reloadPerformed"

El inconveniente evidente es que cargar los resultados de la página en dos páginas solicita y renderiza, por lo que querrá que la recarga sea una de las primeras cosas que hace la página cuando se carga.


@JarneCook parece tener razón, es un error en IE.

Es posible que solo puedas hacer:

<script type="text/javascript"> window.location.hash = window.location.hash; </script>

en la parte superior de tu página. En circunstancias normales, esto debería ser no operativo, pero si el usuario está utilizando IE y ha llegado a través de un redireccionamiento, la página se volverá a cargar antes incluso de que note que se ha cargado.