Я использую ASP.NET 4.5 на сервере, и у меня есть приложение .NET Windows с элементом управления веб-браузера, который перемещается на веб-страницу на сервере.Internet Explorer 11 дает ошибку скрипта в PageRequestManager.js
Если я запускаю приложение Windows в системе с Internet Explorer 11, я получаю ошибку сценария: «Объект не поддерживает свойство или метод« attachEvent »при переходе на другую страницу. Файл сценария - ScriptResource.axd, поэтому он не является одним из моих скриптов.
Я действительно знаю, что Internet Explorer 11 больше не поддерживает attachEvent (заменен attachEventListener?). Это, однако, не очень помогает здесь, поскольку 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.
Как исправить эту проблему? Существуют ли какие-либо известные способы обхода? Я не мог получить никаких обновлений для этого.
Спасибо, это обходное решение отлично работает. Но будем надеяться, что код фреймворка Sys.Webforms.PageRequestManager будет исправлен в будущих выпусках для поддержки IE 11. – tpe
Другим обходным решением является простое исправление кода ajaxcontroltoolkit, поскольку код является открытым исходным кодом. Но тогда вам придется поддерживать отдельную ветвь этого кода, которую я действительно не рекомендую ... –