【发布时间】:2015-02-23 18:55:57
【问题描述】:
我最近继承了一个 ASP.NET 网站,该网站可以在我们测试过的所有浏览器中运行,除了 IE 10/11(在 IE 10/11 和之前的版本中运行良好)。在打开控制台的情况下刷新页面时,似乎 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);
}
...
Scripts.js
$(document).ready(function () {
...
SetUpPageHandlers();
});
在IE 11的控制台中查看Sys变量时,只有以下成员。
__namespace
__rootNamespaces
__typeName
__upperCaseTypes
_jsonp
Application
Browser
Debug
Net
Res
Serialization
UI
在其他浏览器中,它包含更多的成员。有谁知道是什么导致 IE 10/11 出现这种情况?
【问题讨论】:
-
兼容模式通常没有区别。这通常是您需要担心的文档模式。您可以通过
x-ua-compatible元标记强制浏览器使用正确的文档,如here 所述。 -
不幸的是,这不起作用。我不知道是什么导致了这个问题。
标签: javascript asp.net webforms sys