fra*_*der 42 firefox microsoft-ajax asp.net-mvc-2
当Firefox最近更新到版本6时,我正在努力的网站严重破坏.
浏览到没有哈希标记的任何页面时,网站运行正常,但如果您尝试导航到带有哈希标记的页面(例如#test),或者在应用哈希标记后刷新页面,则页面会无限快速刷新.
这是一个半年前创建的Asp.Net MVC 2网站.
fra*_*der 67
事实证明,这是旧版MicrosoftAjax.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
Run Code Online (Sandbox Code Playgroud)
这是包含此错误的版本.截至撰写本文时,最新的文件版本为4.0.30205.0.升级到最新版本,问题就消失了.正如Nathan Fox的评论中提到的,我从微软cdn获得了最新版本,更具体地说是缩小版和调试版.
对于好奇,我在javascript文件中追踪问题.
有缺陷的版本包括:
if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash && (!window.frameElement || window.top.location.hash)) {
window.history.go(0);
}
Run Code Online (Sandbox Code Playgroud)
在较新版本中更正了以下内容:
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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4141 次 |
| 最近记录: |