我的客户已将他们的浏览器从 IE10 更新到 IE11。 我在页面刷新时遇到以下错误 Sys.WebForms.PageRequestManager 未定义。
请检查我的代码
<asp:ScriptManager ID="scmMain" EnableCdn="false" runat="server" AsyncPostBackTimeout="0"
ScriptMode="Release">
</asp:ScriptManager>
<script type="text/javascript">
Sys.Application.add_init(function () {
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(ieAjaxPageLoaded);
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(ieAjaxPageLoaded);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(ieAjaxEndRequest);
Sys.Application.add_load(NeoSpin_PageLoad);
});
function header_onclick() {
}
function End(sender, args) { }
</script>
这在 IE10 及以下版本上工作正常
我已经尝试过以下链接 - 但没有帮助 -
'Sys.WebForms.PageRequestManager' is null or not an object
Microsoft JScript runtime error: 'Sys' is undefined
http://encosia.com/updated-your-webconfig-but-sys-is-still-undefined/
http://www.codeproject.com/Questions/543002/Unableplustoplusgetpluspropertyplus-27PageRequestM
谢谢 法赫德穆拉吉
最佳答案
所以我没有适合您的解决方案,但根据我对服务器的经验与本地开发机器的比较,我认为这是正在发生的事情。看起来您正在使用 ASP.NET 控制工具包,它在几年前已被弃用,现在应该作为开源项目在 Codeplex 上提供。它主要是由服务器端驱动的,我敢打赌它正在做一些糟糕的浏览器嗅探,因为那时候这是很常见的事情。它应该做的是特征检测。
那么问题出在哪里呢?所以我的本地开发机器报告 IE 11 为 majorVersion == 11。我的服务器报告 majorVersion 为 7。所以确实需要一个补丁来修复服务器,但我不确定它是否存在。另一种选择是对控制工具包进行修补,而不是浏览器嗅探和功能检测。至少可以说这是一项非常艰巨的任务。
虽然这个话题只值 2 美分。这是一个真正的问题,因为我猜测这个问题实际上可能会阻止您的公司或客户实际更新他们的系统,这最终会 catch 他们并导致他们出现重大问题,比如在四月份之前不升级 XP 机器会导致很多公司。
抱歉,我没有适合您的解决方案,但这非常有趣,因为我正在研究需要解决的问题,以帮助公司立即摆脱旧的 IE 和 XP 等过时的平台。
关于javascript - Sys.WebForms.PageRequestManager is undefined error in IE11, working fine in IE10 and below,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20164753/