Недавно я унаследовал веб-сайт ASP.NET, который работает во всех протестированных нами браузерах, кроме IE 10/11 (отлично работает в 9 и более ранних версиях). При обновлении страницы с открытой консолью оказывается, что Sys.WebForms не определен в IE, а не в других браузерах. Запуск в режиме совместимости не решает эту проблему.
Вот макет сайта.
Основной файл
<head>
<script type="text/javascript" src="<%# Page.ResolveClientUrl("~/Scripts/Scripts.js") %>"></script>
</head>
...
<body>
...
<form id="Tabs_Form" runat="server">
<asp:ScriptManager ID="Scriptmanager1" runat="server" EnablePartialRendering="true" EnablePageMethods="true" ScriptMode="Release"></asp:ScriptManager>
<script type="text/javascript">
function SetUpPageHandlers() {
PageRequest = Sys.WebForms.PageRequestManager.getInstance();
PageRequest.add_initializeRequest(InitializeRequestHandler);
PageRequest.add_beginRequest(BeginRequestHandler);
PageRequest.add_endRequest(EndRequestHandler);
PageRequest.add_pageLoaded(PageLoadHandler);
}
...
Скрипты.js
$(document).ready(function () {
...
SetUpPageHandlers();
});
При проверке переменной Sys в консоли в IE 11 она имеет только следующие члены.
__namespace
__rootNamespaces
__typeName
__upperCaseTypes
_jsonp
Application
Browser
Debug
Net
Res
Serialization
UI
В других браузерах он включает гораздо больше членов. У кого-нибудь есть идеи, что заставляет это действовать в IE 10/11?
x-ua-compatible
, как описано здесь. - person mason   schedule 23.02.2015