0

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

所以上述所有部分都可以正常工作。但奇怪的是,当您从 Intranet 访问页面时,页面上 div 的边框呈现得更厚,而不是 Internet,(我使用的是 IE8)以及一些 div 布局(拉伸等)行为不同。为什么它会根据它是从 LAN 还是从 Internet 访问,在同一个浏览器中呈现不同?它不会在 FireFox 中执行此操作。所以它一定只是一个IE8的东西。

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

请注意这两个图像中的边框有何不同:

互联网:http ://twitpic.com/hxx91 。

局域网:http ://twitpic.com/hxxtv

4

2 回答 2

3

肯定是因为IE8默认情况下,位于内部网络的网站以怪异模式呈现,而位于Internet的页面将根据doctype确定呈现模式。这意味着当您在 Internet 上浏览页面时,该文档的 doctype 声明决定了呈现模式,而如果您在 Intranet 上浏览,IE8 使用 IE7 呈现引擎。

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

<meta http-equiv="X-UA-Compatible" content="IE=8" />
于 2009-09-16T16:41:09.663 回答
0

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

于 2010-04-19T10:11:46.197 回答