2011-08-18 15 views
41

Khi Firefox cập nhật lên phiên bản 6 gần đây, một trang web tôi đang làm việc trên bị hỏng nghiêm trọng.Firefox 6 Trang Vô hạn Làm mới Với Trang Với Thẻ băm

Trang web hoạt động bình thường khi duyệt đến bất kỳ trang nào mà không cần thẻ băm nhưng nếu bạn cố điều hướng đến một trang có thẻ băm (ví dụ: #test) hoặc làm mới trang khi thẻ băm được áp dụng, làm mới trang nhanh nhất có thể.

Đây là trang web Asp.Net MVC 2 được tạo khoảng một năm rưỡi trước.

Trả lời

65

Hóa ra, đây là vấn đề với phiên bản cũ của MicrosoftAjax.js (phiên bản được cài đặt với Asp.Net MVC 2).

Mở tệp MicrosoftAjax.debug.js và kiểm tra số phiên bản tệp. Đầu tệp này sẽ trông như thế này nếu đây là vấn đề của bạn:

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

Đó là phiên bản chứa lỗi này. Phiên bản tệp mới nhất của bài viết này là 4.0.30205.0. Nâng cấp lên phiên bản mới nhất và sự cố sẽ biến mất. Như đã đề cập trong nhận xét của Nathan Fox, tôi nhận phiên bản mới nhất từ ​​Microsoft cdn và cụ thể hơn là các phiên bản minifieddebug.

Đối với những người tò mò, tôi đã truy tìm sự cố trong tệp javascript.

Phiên bản lỗi bao gồm:

if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && (!window.frameElement || window.top.location.hash)) { 
     window.history.go(0); 
} 

nào đã được sửa chữa như sau trong phiên bản mới hơn:

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

Wow. Cám ơn vì cái này. Tôi đã có vấn đề này một vài ngày trước và không mong đợi javascript là vấn đề ... bởi hạnh phúc cơ hội tôi tìm thấy câu hỏi này và woot, bây giờ nó cố định. – smdrager

+0

Cảm ơn bạn đã tìm ra điều này, điều này đã giúp tôi tiết kiệm rất nhiều thời gian! –

+0

Bạn có thể tìm liên kết đến các tệp .js mới nhất trên trang MS CDN tại http://www.asp.net/ajaxlibrary/CDNAjax4.ashx. –

Các vấn đề liên quan