IE9和JavaScript
在我的开发人员机器上,ASP.NET MVC 3应用程序运行良好(IE9、Firefox),但在生产服务器上,当我在IE9中打开它时,一些JavaScript代码和CSS(例如border radius)并没有进入IE9。我怀疑IIS,因为它在本地主机IE9上的开发机器上运行良好。两台计算机上的服务器版本(Win 2008 R2,IIS 7.5)和IE相同。IE9和JavaScript,javascript,css,iis,internet-explorer-9,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和ASP.NET与CSS的呈现方式无关,所以不要担心这一点 为了让IE9以不同的方式渲染它们,我猜测其中一个使用了不同
有什么问题吗?IIS和ASP.NET与CSS的呈现方式无关,所以不要担心这一点
为了让IE9以不同的方式渲染它们,我猜测其中一个使用了不同的模式。点击F12进入开发者工具,您将看到两个选项来改变IE7、IE8、IE9的模式,我认为是怪癖模式或类似的模式。确保两者都设置为IE9,并且您应该看到正确的CSS内容。IIS和ASP.NET与CSS的呈现方式无关,所以不要担心这一点
为了让IE9以不同的方式渲染它们,我猜测其中一个使用了不同的模式。点击F12进入开发者工具,您将看到两个选项来改变IE7、IE8、IE9的模式,我认为是怪癖模式或类似的模式。确保两者都设置为IE9,并且您应该看到正确的CSS内容。Border radius应该在IE9上正确渲染。您的页眉中可能缺少此项
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
边界半径应在IE9上正确渲染。您的页眉中可能缺少此项
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
这几乎肯定与IIS无关。这里可能发生的事情是IE9太聪明了,不利于自身 IE有一个配置设置,当您在本地intranet中加载站点时,打开该设置会告诉浏览返回到IE8兼容模式 此设置的目的是让内部web应用程序不可靠的公司更容易升级到IE9,因为理论上,他们的内部网站将继续在IE8模式下工作 这就是理论。实际上,这是一个坏主意,原因有很多 真正糟糕的是,默认情况下该设置处于打开状态 大多数用户从未注意到,因为大多数人不开发自己的网站。但对于web开发人员来说,这可能是一个非常烦人的特性,因为“内部intranet”包含localhost。我建议您找到设置,然后将其关闭 事实上,没有其他人会受到影响,即使他们使用的IE9的标志仍处于打开状态,因为他们不会像你一样从localhost加载站点 有些用户可能会将浏览器设置为始终显示兼容模式(我无法想象他们为什么会这样做,但这是可能的)。对于这些用户,将以下代码行添加到
部分很有帮助:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
这告诉IE始终使用其可用的最佳渲染引擎(因此IE9将处于IE9模式)。这将处理其他用户。但是,对于您自己,我认为您可能仍然需要在设置中手动关闭标志,因为如果我没有记错的话,本地intranet设置会覆盖X-UA-Compatible
标题
希望这有助于解释问题。这几乎肯定与IIS无关。这里可能发生的事情是IE9太聪明了,不利于自身 IE有一个配置设置,当您在本地intranet中加载站点时,打开该设置会告诉浏览返回到IE8兼容模式 此设置的目的是让内部web应用程序不可靠的公司更容易升级到IE9,因为理论上,他们的内部网站将继续在IE8模式下工作 这就是理论。实际上,这是一个坏主意,原因有很多 真正糟糕的是,默认情况下该设置处于打开状态 大多数用户从未注意到,因为大多数人不开发自己的网站。但对于web开发人员来说,这可能是一个非常烦人的特性,因为“内部intranet”包含localhost。我建议您找到设置,然后将其关闭 事实上,没有其他人会受到影响,即使他们使用的IE9的标志仍处于打开状态,因为他们不会像你一样从localhost加载站点 有些用户可能会将浏览器设置为始终显示兼容模式(我无法想象他们为什么会这样做,但这是可能的)。对于这些用户,将以下代码行添加到
部分很有帮助:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
这告诉IE始终使用其可用的最佳渲染引擎(因此IE9将处于IE9模式)。这将处理其他用户。但是,对于您自己,我认为您可能仍然需要在设置中手动关闭标志,因为如果我没有记错的话,本地intranet设置会覆盖X-UA-Compatible
标题
希望这有助于解释问题。叮叮!我们赢了。非常好的回答,谢谢。谢谢你详细的回答。这就是我所说的一个很好的解释。叮叮!我们赢了。非常好的回答,谢谢。谢谢你详细的回答。这就是我所说的一个很好的解释。