在内联网与互联网上达成时,ASPX页面的呈现方式有所不同?

时间:2009-09-16 16:18:42

标签: internet-explorer-8 render intranet

这对我来说太奇怪了。我在XP上运行了IIS 5,它为我们的LAN托管了一个小型ASP.Net应用程序,我们可以使用计算机名称,虚拟目录和页面名称来访问{{3但是你也可以从互联网上点击那个IIS服务器和页面,因为我有一个公共IP,我的防火墙路由到“马特”计算机(如http://matt/smallapp/customers.aspx [只是一个虚拟的IP])。不用担心,我有Windows域身份验证,以保护应用程序免受匿名用户的侵害。

所以以上所有部分都可以正常工作。但奇怪的是,当您从内部网访问页面时,页面上的div的边框会变得更厚,而不是互联网,(我使用的是IE8),还有一些div布局(拉伸等等)行为不同。为什么它会在同一个浏览器中呈现不同,这取决于它是从LAN到互联网?它不会在FireFox中执行此操作。所以它必须只是IE8的东西。

div的所有CSS都在HTML页面中,所以我认为它不是CSS文件的缓存问题。

注意这两个图像中边框的不同之处:

互联网:http://213.202.3.88/smallapp/customers.aspx

Lan:http://twitpic.com/hxx91

3 个答案:

答案 0 :(得分:3)

这绝对是因为位于内部网络上的网站默认情况下由{8}呈现在quirks mode,而位于互联网上的网页将根据文档类型确定呈现模式。 这意味着当您通过Internet浏览页面时,该文档的doctype声明决定了渲染模式,而如果您在Intranet上浏览,则IE8使用IE7渲染引擎。

可以通过用户更改IE兼容性设置,或者通过强制IE8使用IE8渲染引擎,向页面添加元标记来显式覆盖渲染模式:

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

答案 1 :(得分:0)

您还可以更改IE的 IntranetCompatibilityMode HKCU/Software/Microsoft/Internet Explorer/Browser Emulation/IntranetCompatibilityMode)注册表设置,这将导致IE以与互联网相同的方式呈现内部网页。

答案 2 :(得分:0)

非常感谢大家。当我使用Asp.Net开发服务器时,我无法确定为什么我的网站显示正常,但是当我使用IIS 6在我们的Intranet上测试时,某些页面无法正确显示。如果这有助于其他任何人我将我在IIS中的网站的IE兼容模式设置为'IE = edge'。有关更多详细信息,请参阅此文章;

在IIS上实现META Switch http://msdn.microsoft.com/en-us/library/cc817572.aspx