javascript - IE9 和 JavaScript

标签 javascript css iis internet-explorer-9

<分区>

在我的开发机器上,一个 ASP.NET MVC 3 应用程序可以完美运行(IE9、Firefox),但是在生产服务器上,当我在 IE9 中打开它时,JavaScript 代码和 CSS 的某些部分(例如 border-radius)没有进入IE9。我怀疑 IIS,因为在本地主机 IE9 上的开发机器上它运行良好。服务器版本(Win 2008 R2,IIS 7.5)和IE在两台计算机上是相同的。 请问是什么问题?

最佳答案

这几乎可以肯定与 IIS 无关。这里可能发生的情况是 IE9 太聪明了。

IE 有一个配置设置,当您在本地 Intranet 中加载站点时,打开该设置会告诉浏览器回退到 IE8 兼容模式。

此设置的目的是让拥有不稳定内部 Web 应用程序的公司更容易升级到 IE9,因为理论上他们的内部网站将继续在 IE8 模式下工作。

这就是理论。实际上,出于多种原因,这是一个坏主意。

真正糟糕的是默认情况下该设置处于打开状态。

大多数用户从未注意到,因为大多数人并不开发自己的网站。但对于 Web 开发人员来说,这可能是一个非常烦人的功能,因为“内部 Intranet”包括 localhost。我建议您找到该设置,然后将其关闭。

几乎没有其他人会受到此影响,即使他们使用的是 IE9 并且标志仍然打开,因为他们不会像您一样从本地主机加载网站。

有些用户可能将他们的浏览器设置为始终显示兼容模式(我无法想象他们为什么会这样做,但这是可能的)。对于这些用户,将以下代码行添加到您的 <head> 会很有帮助部分:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

这告诉 IE 始终使用它可用的最佳呈现引擎(因此 IE9 将处于 IE9 模式)。这将与其他用户打交道。但是,对于您自己,我认为您可能仍需要在设置中手动关闭标志,因为如果我没记错的话,本地 Intranet 设置会覆盖 X-UA-Compatible。标题。

希望这有助于解释事情。

关于javascript - IE9 和 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104151/

相关文章:

javascript - 响应式顶部栏不展开

iis - 如何使用 Powershell 删除 IIS 自定义 header ?

Javascript switch 语句根据情况执行一些相同的功能

javascript - 如何在 Javascript 中获取输入字段的值

javascript - JQuery Mobile 滚动时隐藏地址栏

css - 如何更改 SVGCircleElement 对象的样式?

css - 是否可以根据父类的宽度调整字体大小

asp.net - 为什么没有代码的 ASP.Net 2.0 应用程序在首次运行时需要 2 分钟才能加载?

c# - IIS中回收应用程序池时,是否调用了Application_End?

javascript - 如何更改 video.js (5.0.0-rc52) 中的按钮顺序?