IE在Visual Studio和服务器上的调试之间显示不同的页面

时间:2010-09-22 14:11:58

标签: html css

这是this问题的延续。

我有一个ASP.NET应用程序,当在DEBUG中的IE8中查看时显示不同的部分,显示已发布的TEST服务器位置。

当我在Debug中查看页面时(通过VS 2010),我看到了:

alt text

但是,当我发布到服务器并直接查看它时,它看起来像这样:

alt text

标题框只有文本背景颜色为黑色而不是整个部分。

这是CSS:

.imageBox
{
    position: relative;
    float: left;
    border-style: solid;
    border-width: 1px;
    text-align: center;
}

.imageBoxTitle
{
    width: 100%;
    background-color: #333333;
    padding: 5px;
}

.imageBoxTitleLbl
{
    font-family: Verdana;
    font-weight: bold;
    font-size: small;
    color: White;
}

这是生成的HTML

 <div class="imageBox">
    <div class="imageBoxTitle">
        <span id="MainContent_ImagesPanel_ImageHolder1_ImageBoxTitleLabel" class="imageBoxTitleLbl">ITEM OVERVIEW</span>
    </div>

    <div class="imagePlaceHolder">
        <p class=".centeredImage"><a id="MainContent_ImagesPanel_ImageHolder1_ImageHyperLink" href="UserImages/nu5t3hhs.jpg" target="_blank"><img src="UserImages/nu5t3hhs.jpg" height="200" width="200" /></a></p>
        <span id="MainContent_ImagesPanel_ImageHolder1_CustomValidator1" style="color:Red;visibility:hidden;">*</span>
    </div>

    <div class="imageAction">  
    </div>
</div>

所以我认为这可能是某种缓存问题。但是,如果我对CSS稍作修改(例如更改背景颜色),则会选择它并显示它。此外,我已经为css文件的查询字符串添加了动态生成的GUID,因此它们永远不会被缓存。 Fiddler确认他们也没有缓存。

IE通过Visual Studio Debug查看直接从服务器访问页面时,IE似乎呈现不同的HTML / CSS。

什么事情可能会导致这种行为?

更新:当我在已发布的服务器上查看Chrome或Firefox中的页面时,它会正确显示。我已经清除了IE缓存(ctrl-f5),删除了服务器上的.css并重新上载等等。

2 个答案:

答案 0 :(得分:12)

当IE在 localhost 上呈现时,它将使用标准兼容模式

但是,当它在 Intranet 上呈现时,它将使用兼容模式

不要问我为什么会这样做,这只是为了让我们的开发人员生活更加精彩的MS事物之一。

只需将其添加到标题中即可强制IE进入标准兼容模式:

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

享受:)

答案 1 :(得分:3)

归功于JungleFreak的完整answer

  

IE8以不同的模式运行,具体取决于它是否访问在localhost上运行的站点与另一台服务器。我知道这很奇怪。我之前也遇到过这个问题。使用开发人员工具(F12)并检查浏览器运行的模式(Quirks,IE7 Standard,IE8 Standard,IE8兼容性)。