Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE9和JavaScript_Javascript_Css_Iis_Internet Explorer 9 - Fatal编程技术网

IE9和JavaScript

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以不同的方式渲染它们,我猜测其中一个使用了不同

在我的开发人员机器上,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以不同的方式渲染它们,我猜测其中一个使用了不同的模式。点击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
标题


希望这有助于解释问题。

叮叮!我们赢了。非常好的回答,谢谢。谢谢你详细的回答。这就是我所说的一个很好的解释。叮叮!我们赢了。非常好的回答,谢谢。谢谢你详细的回答。这就是我所说的一个很好的解释。