我在服务器上使用 ASP.NET 4.5,并且我有一个带有 Web 浏览器控件的 .NET Windows 应用程序,该控件导航到服务器上的网页。
如果我在使用 Internet Explorer 11 的系统上运行 Windows 应用程序,我会在导航到另一个页面时收到脚本错误:“对象不支持属性或方法 'attachEvent'”。脚本文件是 ScriptResource.axd,所以它不是我的任何脚本。
我知道 Internet Explorer 11 不再支持 attachEvent(替换为 attachEventListener?)。然而,这在这里没有多大帮助,因为 javascript 是框架的一部分,而不是在我的代码中。
我在这里找到了框架的 javascript 源代码:http: //ajaxcontroltoolkit.codeplex.com/SourceControl/latest#Client/MicrosoftAjax/Extensions/Sys/WebForms/PageRequestManager.js
// DevDiv Bugs 100201: IE does not set referrer header on redirect if you set window.location, inject anchor node instead
// dynamic anchor technique only works on IE
if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
var anchor = document.createElement("a");
anchor.style.display = 'none';
// cancel bubble so body.onclick is not raised
anchor.attachEvent("onclick", cancelBubble);
// more code...
}
这是 Sys.Webforms.PageRequestManager 模块,据我了解,它是核心 ASP.NET 框架的一部分。
执行attachEvent的行在Internet Explorer 11 上会出现脚本错误,但在旧版本的 Internet Explorer 上效果很好。
如何解决这个问题?是否有任何已知的解决方法?我无法对此进行任何更新。