Google Chrome - Foro de ayuda

Problema muuuuuy raro al cargar javascript (sólo pasa en chrome)

DieguezZ
30/10/11 15:50
Google Chrome        15.0.874.106 (Build oficial 107270) m2) Sistema Operativo (XP, Vista, Windows 7, MacOS, Linux...). Uso windows 7 de 64 bit pero lo he probado también en un imac con chrome. Sólo pasa en chrome y en todos los sistemas, no pasa con firefox ni safari ni internet explorer.

No hay mensajes de error. Pongo el ejemplo: http://www.churralia.com/#Services

Al acceder a esa url podrán comprobar que aparece un menú a la izquierda con opciones como "chocolate, churros y porras, patatas y reparto"
Al hacer click en cualquiera de esas secciones debería cambiar el texto de la derecha, sin embargo no cambia (sólo chrome).

Ahora, me dispongo a realizar brujería. Me di cuenta de esto por casualidad. Si restauramos la ventana del navegador, o simplemente la redimensionamos (a pesar de que luego la volvamos a dejar maximizada), entonces funcionan los links. Es decir, cargas la web, alteras el tamaño de la ventana, y ya funciona. Incluso, si restauramos y volvemos a maximizar (suponiendo que el estado original de la ventana fuese maximizado) también funciona. Por lo que no parece que tenga que ver con la programación de la web.

¿Alguna idea?

Respuestas (4)

Alejandro Silvestri
31/10/11 6:22
Hola, tengo la exactamente la misma versión de Chrome que vos, pero a mí la página de anda bien de entrada, sin ninguna brujería.
Desconozco el motivo, para empezar te recomiendo la medida higiénica de eliminar la caché.


Eliminando la caché
A veces el sistema operativo se cuelga, o la PC se apaga por un corte de energía, y se corrompen archivos. Esto afecta con más frecuencia a las aplicaciones que más se usan (obvio). Esto incluye especialmente al navegador: no importa la marca, todos padecen el mismo problema.
Una consecuencia de eso es que alguna página se empieza a ver mal. Es porque la caché quedó dañada. Hay que eliminarla. Podés renovar la caché de esa página solamente, o borrarla completa. De hecho el síntoma que describís coincide perfecto: parece que no está cargando los CSS. Te sugiero estos pasos:

1) Entrá a la página que se ve mal, y refrescá con ctrl+F5. La direfencia con F5 es que no le da tanta bolilla a la caché.
2) Si no se arregló, probá borrando la caché a mano: pulsá ctrl+mayús+supr, o sino en la barra de direcciones poné chrome://settings/search#cach%E9
3) Contame cómo te fue

Te dejo un artículo más amplio sobre el tema.
http://www.google.com/support/chrome/bin/answer.py?hl=es&answer=113910

DieguezZ
31/10/11 7:59
Hola Alejandro,

ante todo muchas gracias por tu rápida respuesta y tu interés. He probado todo lo que sugieres, incluso he reiniciado mi máquina después de realizar la limpieza de caché (por si las moscas) y me sigue ocurriendo igual. Ya había probado lo de crtl + f5, pero no había probado a borrar la cache directamente. De igual forma me sigue fallando.

Me has dejado sorprendido con eso de que a ti te va a la primera. He probado en varios ordenadores diferentes y me fallaba en todos igual. Eso me da qué pensar. Acabo de probar a inhabilitar las extensiones experimentales de chrome, pero sigue igual. Aceptaría que hay algo mal en mi máquina, pero esque lo he probado en varias... no se me ocurre qué puede ser :S
Alejandro Silvestri
31/10/11 9:44
Hablando en términos muy generales, javascript es un lenguaje estándar, pero los navegadores tienen implementaciones levemente propietarias.  A veces el código hace uso de estas funciones especiales, incluso de funciones comunes pero con implementaciones diferentes (que arroja resultados diferentes en ciertos casos especiales, normalmente fuera de la especificación).  Eso pasa cuando se usa Javascript "al límite".

No se me viene a la mente un ejemplo concreto, pero para ilustrarlo, donde alguna función deberia arrojar error, algún implementador podría haber decidido devolver null para no detener la ejecución, y facilitar la programación.  El problema es que deja de ser estándar.

Algunos frameworks incorporan, para ser más eficientes, el uso de instrucciones javascript propietarias.  Por lo tanto el framework tiene una implementación diferente para cada navegador (transparente para el programador de la página), y puede ser que alguna funcione bien y otra mal.
DieguezZ
31/10/11 9:46
Sí, suponía que tendría que ver con algo de eso.. probaré a rehacer el código.
Muchas gracias por la ayuda.