我们有一个应用程序(ASP.NET),它一直在运行,在IE8上没有问题。Teh应用程序运行在两个服务器上,一个是主服务器,另一个是测试服务器。由于应用程序已经稳定了一段时间,因此两台服务器上的代码当前是相同的。
我们公司目前正在测试向IE11的迁移。我们注意到,在生产服务器上,IE11中没有显示一些页面。相反,它们会显示“此页无法显示”的消息。然而,当我们指向测试服务器时,所有的页面都被正确地显示。
在服务器、客户端或全局IE设置上,我应该查看哪些可能的配置问题,以确定导致兼容性问题的原因?
发布于 2015-11-12 22:46:14
我要在这里猜一猜:生产服务器在开放的互联网上,测试服务器隐藏在您公司的网络中。是那么回事吗?
如果是这样的话,那么问题很可能是由于兼容性模式(或缺乏兼容性)和您的浏览器设置。
IE有一个配置设置(默认为被打开),它告诉它对本地网络中的站点使用IE7兼容模式。
我的猜测是,由于您的站点在IE8中运行良好,在IE7兼容模式下也很好,因此在本地网络中的测试服务器上工作得很好。
但是,您的活动服务器位于开放的internet上,因此IE不使用该配置设置,并试图以IE11标准模式呈现页面。由于您的站点是用IE8编写的,它可能存在错误或问题,导致它在新的浏览器(如IE11 )中呈现得很糟糕,这就是您所看到的。
如果这个诊断是正确的,那么您有两个选择:
在这两种情况下,您都希望使用X-UA-Compatible元标记或http头。
在元标记形式中,如下所示:
<meta http-equiv="X-UA-Compatible" content="IE=8" />...to将其设置为IE8兼容性模式。
若要将其设置为IE11模式,请在上面的行中使用IE=edge而不是IE-8。
需要将这一行添加到站点中每个页面的<head>代码部分。它也可以作为一个http头添加。如果您不能更改html代码,这可能是一个更好的选择,但是如何做到这一点的具体细节将取决于您的web服务器,所以如果您想走这条路线,我将留给您自己研究。
请注意,将其设置为使用兼容性模式显然是更快的选择,因为您不必对代码进行任何其他更改。然而,请注意,导致它在IE11中崩溃的bug也会在其他浏览器中破坏它,包括微软的边缘浏览器,它是Windows 10中IE的替代品。换句话说,您迟早要修复这些错误。
https://stackoverflow.com/questions/33671645
复制相似问题