Estoy desarrollando una aplicación web con CodeIgniter en back-end y Backbone.js en front-end. También estoy usando HTML5 Boilerplate como mi plantilla de inicio.Backbone.js causa error solo en IE7
Estoy usando el controlador e historial de Backbone como navegación principal a través de mi aplicación. Lo he hecho una vez en el pasado y todo ha funcionado bien. El problema es que cuando comienzo la captura de eventos de hashchange con Backbone.History.start() y hago clic en un enlace example.com/#home, el cambio de hash en la url, el evento se dispara pero 2 segundos después, se borra el hash desde url y un error de javascript se lanza solo en ie7.
He echado un vistazo al código fuente y el evento hashchange se logra en IE7 creando un IFRAME ejecutando un intervalo para verificar el cambio del valor hash.
¿Alguien ha tenido este extraño error antes y sabe cómo solucionarlo?
'Backbone.history.start()' funciona correctamente, excepto para IE7. Parece que IE7 no desencadena un evento 'hashchange'. En mi caso, utilicé ['Modernizr.hashchange'] (http://www.modernizr.com/docs/#hashchange) para verificar primero si es compatible. Si no, usaré '.saveLocation()' y '.loadUrl()'. – Shiki