turbo test navigators emulator cross check javascript cross-browser rsh

javascript - test - Problemas potenciales al configurar window.location.hash



linux browser testing (5)

El hilo anterior lo sé, pero window.location.hash está sujeto a un límite de tamaño. Si está pasando grandes cantidades de datos y desea guardar el estado en el hash, podría tener algunos problemas.

IE le dará el error: SCRIPT5 - Access denied. Si intentas asignar un hash que está por encima del límite, es super útil.

Sólo alimento para el pensamiento.

Tengo un código javascript que, en un momento dado, establece window.location.hash en una cadena específica. Esto funciona bien en Firefox 3, pero quiero saber si tendré problemas con esto más adelante, es decir, ¿es esta una solución de navegador cruzado (IE6 incluido)?

Además, estoy usando ReallySimpleHistory. ¿Esto estropeará su estado interno?

Gracias


La configuración de window.location.hash funciona bien en IE6 e IE7.

En algunas ocasiones, la lectura de window.location.hash debajo de IE6 justo después de un conjunto devolverá el valor anterior, pero el navegador ha establecido el hash correctamente. Un ejemplo:

alert(window.location.hash); window.location.hash = ''#newHash''; /* Sometimes, it will return the old value, I haven''t figured out why it does that, and it''s rather rare. */ alert(window.location.hash);

Si solo lo está utilizando para configurarlo, no debería tener ningún problema.


Todos los navegadores "modernos" (también conocidos como A-Graded) permiten establecer hash y no volver a cargar la página cuando lo hacen. Los que recargan la página son algunos de los más antiguos, como Safari 2.0.4 y Opera 8.5x .

Vea mi publicación de Usenet en comp.lang.javascript donde lo explico con un poco más de detalle.

También tenga en cuenta que HTML5 finalmente especifica que el establecedor de hash debe cambiar el hash real pero no volver a cargar la página .


window.location.hash ha existido desde que se introdujo JavaScript en Netscape Navigator 2 en 1995. Fue admitido por primera vez por Microsoft en Internet Explorer 3 en 1996. Creo que puede estar razonablemente seguro de que todos los navegadores compatibles con JS lo admiten.

Desde un vistazo rápido a través de la fuente, parece que ReallySimpleHistory hace un uso bastante extenso de esta propiedad, por lo que es posible que la rompa. Es posible que desee utilizar su método add(newLocation) lugar (que funciona configurando window.location.hash ).


Obtener:

var hash = location.hash.slice(1);

Conjunto:

location.hash = ''#'' + ''string'';