asp.net mvc 2 - net - Firefox 6 Infinite Page Refresh con página con etiquetas hash
security asp net mvc (2)
Eliminar MicrosoftAjax.js o MicrosoftAjax.debug.js puede ayudar, pero simplemente reemplazar los archivos con las versiones actuales de http://www.asp.net/ajaxlibrary/CDNAjax4.ashx también hará el trabajo.
Cuando Firefox actualizó a la versión 6 recientemente, un sitio en el que estoy trabajando se quebró gravemente.
El sitio funciona normalmente cuando navega a cualquier página sin una etiqueta hash, pero si intenta navegar a una página con una etiqueta hash (por ejemplo, #test
) o actualiza la página una vez que se aplicó una etiqueta hash, la página se actualiza tan rápido como sea posible. infinitamente
Este es un sitio de Asp.Net MVC 2 creado hace aproximadamente un año y medio.
Resulta que este es un problema con una versión anterior de MicrosoftAjax.js (la que viene instalada con Asp.Net MVC 2).
Abra el archivo MicrosoftAjax.debug.js y verifique el número de versión del archivo. La parte superior de este archivo se verá así si este es su problema:
// Name: MicrosoftAjax.debug.js
// Assembly: System.Web.Extensions
// Version: 4.0.0.0
// FileVersion: 4.0.20526.0
Esa es la versión que contiene este error. La última versión del archivo al momento de escribir esto es 4.0.30205.0. Actualiza a la última versión y el problema desaparece . Como mencioné en un comentario de Nathan Fox , obtuve la última versión del cdn de Microsoft y más específicamente las versiones minified y de debug .
Para los curiosos, tracé el problema en el archivo javascript.
La versión buggy incluye:
if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && (!window.frameElement || window.top.location.hash)) {
window.history.go(0);
}
Que se corrigió a lo siguiente en la versión más nueva:
if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && (!window.frameElement || window.top.location.hash)) {
(Sys.Browser.version < 3.5) ?
window.history.go(0) :
location.hash = this.get_stateString();
}