Обновление Бесконечной Страницы Firefox 6 Со Страницей С Хэш-Тегами
когда Firefox недавно обновился до версии 6, Сайт, над которым я работаю, сильно сломался.
сайт работает нормально при просмотре любой страницы без хэш-тег, но если вы попытаетесь перейти на страницу с хэш-тег (например,#test
) или обновить страницу после того, как хэш-тег был применен, страница обновляется так быстро, как это может бесконечно.
Это Asp.Net сайт MVC 2 создан около полутора лет назад.
2 ответов
оказывается, это проблема со старой версией MicrosoftAjax.js (тот, который поставляется с установленным Asp.Net MVC 2).
откройте MicrosoftAjax.отлаживать.JS-файл и проверьте номер версии файла. Верхняя часть этого файла будет выглядеть так, если это ваша проблема:
// Name: MicrosoftAjax.debug.js
// Assembly: System.Web.Extensions
// Version: 4.0.0.0
// FileVersion: 4.0.20526.0
Это версия, которая содержит эту ошибку. Последняя версия файла на момент написания этой статьи-4.0.30205.0. обновление до последней версии и проблема исчезнет. Как упоминается в комментарии Натан Фокс, я получил последнюю версию от Microsoft cdn и особенно minified и debug версий.
для любопытных я проследил проблему в файле javascript.
багги версия включает в себя:
if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && (!window.frameElement || window.top.location.hash)) {
window.history.go(0);
}
который был исправлен следующим образом в более новой версии:
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();
}
Удаление MicrosoftAjax.js или MicrosoftAjax.отлаживать.js может помочь, но просто замените файлы текущими версиями изhttp://www.asp.net/ajaxlibrary/CDNAjax4.ashx сделает работу, тоже!