代码之家  ›  专栏  ›  技术社区  ›  Jedidja

IE中的页面在cassini和iis7之间如何呈现不同的效果?

  •  13
  • Jedidja  · 技术社区  · 15 年前

    我完全困惑了——我有一个网站,当通过Cassini(在Visual Studio中)运行时,它在IE8中呈现得非常完美,但当部署到本地主机并通过同一浏览器(IE8)查看时,它有几个混乱的元素(样式/外观)。

    我已经在HTML和CSS文件上超越了比较3,它们完全相同。在任何情况下,iis7是否可能以某种方式向浏览器发送额外/不同的信息?以前有人碰到过这样的东西吗?

    请注意,Chrome和Firefox都可以通过Cassini和iis7呈现相同的网页。

    ( 更新 ) 如果按F12,IE8开发人员工具认为您处于什么浏览器模式和文档模式?

    从卡西尼出发时( http://localhost:22120 ,IE8保持在IE8模式(具有打开IE7兼容性视图的选项),一切看起来都很好。

    当从iis7(http://机器名)运行时,IE8会自动进入IE8兼容视图,IE7标准和事情看起来很糟糕。

    5 回复  |  直到 12 年前
        1
  •  17
  •   Paul Hammond    15 年前

    我的假设(如我之前的评论中所提到的)是IE在不同的渲染模式下工作,这取决于您使用的是IIS还是Cassini,这导致了布局的差异。实际上,似乎是IE导致了这种情况,这是基于工具兼容性视图设置中的设置。有两个复选框:

    在兼容性视图中显示Intranet站点-默认情况下选中此选项。 在兼容性视图中显示所有网站-这不是。

    无论采用哪种方式,您都应该使用标准的元标记来强制使用您希望呈现的模式。

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

    希望这有帮助。

        2
  •  5
  •   Sebastien Morin    12 年前

    我认为我找到的最佳解决方案离保罗的解决方案不远,但它告诉浏览器使用您的Internet Explorer版本,这解决了我在content=“ie=8”中遇到的其他问题。

    这里是:

    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    
        3
  •  1
  •   Jeff Sinclair    13 年前

    实际上我也有同样的问题。IE8在“工具”菜单下有一个兼容设置对话框。有一个复选框,指示“以兼容模式显示Intranet站点”。 而且,IE7兼容模式与使用IE7的模式不同,但也存在一些差异。

        4
  •  1
  •   Craig Burlingame    13 年前

    这一问题的一个附带说明: 如果相同的页面在不同的服务器上呈现不同,但在相同的IE8浏览器中,请检查您的URL-如果域不是完全限定的,IE8将自动以兼容模式显示。

        5
  •  0
  •   QueueHammer    15 年前

    如果页面内容相同,则将服务器发送的标题与页面进行比较。

    在讨论了这一点之后,我想谈谈兼容性模式。尝试手动强制IE8在兼容模块中呈现页面。如果呈现没有改变,那么您就知道问题是因为IE在从该Web服务器读取页面时以兼容模式呈现该页面。

    如果是后者,请调查 http://msdn.microsoft.com/en-us/library/dd567845%28VS.85%29.aspx

    推荐文章