Pregunta

Cuando uso la web, regularmente recibo errores de tiempo de ejecución (generalmente javascript) que se informan a través de ventanas emergentes. Esto puede generar una experiencia de usuario realmente insatisfactoria en muchos sitios web excelentes y también me hace preguntarme a qué funcionalidad no tengo acceso.

¿Por qué es un problema tan común? ¿Esto se debe a la falta de pruebas o se trata de problemas de compatibilidad del navegador? ¿Qué se puede hacer para minimizar este tipo de problema?

Por cierto, no tengo marcada la opción "Mostrar una notificación sobre cada error de script".

¿Fue útil?

Solución

Es una serie de problemas.

  1. Muchos creadores de páginas web copian y pegan el código JavaScript de la web. No son programadores y pueden no apreciar los matices del lenguaje.
  2. Falta de buenos marcos de prueba (al menos no sé ninguno). Para Java tenemos JUNIT y .NET NUNIT, etc. Es difícil automatizar las pruebas de JavaScript en este momento.
  3. Mala compatibilidad con IDE. Hasta hace poco, la mayoría de los IDE hacían un mal trabajo al admitir JavaScript. Ahora veo más soporte, pero aún no del tipo que obtienes para los idiomas principales.

Otros consejos

Lo atribuí a la falta de pruebas.

Es fácil cometer errores en JavaScript. Hasta hace poco con Aptana, no había muchas buenas herramientas para codificar JavaScript. No tiene el beneficio de la verificación o compilación de sintaxis, un pequeño error de escritura puede aparecer en páginas. Más allá de eso, hay momentos en que el código que funciona bien en un navegador causará un error en otro. Por ejemplo, vi un complemento jQuery que no funcionaba en IE, pero estaba bien en cualquier otro navegador. Resultó ser una variable declarada sin la palabra clave 'var'. Firefox y Safari estuvieron de acuerdo con eso, IE no, así que es posible que quien escribió el código ni siquiera supiera que era un problema.

Sí, el problema suele ser la prueba. La mayoría de los desarrolladores serios intentarán probar su página web en muchos navegadores, pero realmente hay muchos navegadores y versiones, por lo que realmente no puede probarlos todos.

Normalmente pruebo cuando diseño usando Opera y Firefox, y mi colega que usó una Mac también lo probó en Safari; luego, de vez en cuando, inicie un cuadro de Vista (estoy ejecutando Linux e IE para Linux no es confiable para copiar todo el comportamiento extraño de IE) y lo pruebo en IE (generalmente 7 y 8 beta). ¡Recomendaría a cualquier desarrollador web no que diseñe usando IE! Los sitios web que tienen más errores obviamente están diseñados para IE. porque apenas funcionan en otros navegadores y muestran más errores. Si diseña utilizando los estándares y prueba utilizando navegadores compatibles relativamente estándar como Opera, Firefox y Safari y luego agrega los hacks terribles para IE, preferiblemente usando comentarios condicionales (aunque no es estándar y patentado, afortunadamente y correctamente, es considerado como recomendado por los navegadores real por lo que ganó ' t rompa el código de trabajo) tiene menos problemas.

Otra razón para los errores es que uno usa marcos que están diseñados para evitar las diferencias del navegador y como efecto secundario, o posiblemente solo debido a un error, aparece mensajes de error en algunos navegadores. Ciertamente no tengo tiempo para arreglar un marco solo para eliminar un mensaje de error, y a menos que pueda solucionar el problema y básicamente funcione de todos modos, debo ignorar los mensajes de error, posiblemente presentar un informe y esperar que se solucione la próxima versión (o incluso mejor espero que IE deje de existir repentina y mágicamente :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top