2011-08-18 2 views
41

Firefox가 최근 버전 6으로 업데이트되면 최근에 심각하게 작업 한 사이트가 중단되었습니다.Firefox 6 무한 페이지 새로 고침 해시가있는 페이지로 돌아 가기

이 사이트는 해시 태그없이 페이지 에 검색 할 때 정상적으로 작동하지만 해시 태그가있는 페이지로 이동하려고하면 (예를 들어 #test)를 한 번 또는 해시 태그가 적용된 페이지 새로 고침을 페이지를 새로 고침 무한히 빨리.

이것은 1 년 반 전쯤에 만들어진 Asp.Net MVC 2 사이트입니다.

답변

65

이것은 Microsoft Ajax.js의 이전 버전 (Asp.Net MVC 2와 함께 설치되는 버전)의 문제입니다.

MicrosoftAjax.debug.js 파일을 열고 파일 버전 번호를 확인하십시오. 이 파일의 맨 위에는 문제가있는 경우 다음과 같이 표시됩니다.

// Name:  MicrosoftAjax.debug.js 
// Assembly: System.Web.Extensions 
// Version:  4.0.0.0 
// FileVersion: 4.0.20526.0 

이것이이 버그가 포함 된 버전입니다. 이 글을 쓰고있는 현재의 최신 파일 버전은 4.0.30205.0입니다. 최신 버전으로 업그레이드하면 문제가 사라집니다.. 덧글에 언급 된대로 Nathan Fox, 나는 최신 버전을 Microsoft cdn보다 구체적으로는 minifieddebug 버전입니다.

궁금한 점은 자바 스크립트 파일에서 문제를 추적 한 것입니다.

버그 버전이 포함됩니다 :

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(); 
} 
+4

와우. 고마워. 나는 며칠 전이 문제를 겪었고 자바 스크립트가 문제가 될 것이라고 기대하지는 않았다 ... 나는이 질문과 우연한 발견의 기회로 지금은 고쳐졌다. – smdrager

+0

이 문제를 고마워 주셔서 감사합니다. –

+0

http://www.asp.net/ajaxlibrary/CDNAjax4.ashx의 MS CDN 페이지에서 최신 .js 파일에 대한 링크를 찾을 수 있습니다. –

관련 문제