我在IE中遇到了有线问题。当我浏览我在本地部署的asp.net mvc应用程序时,一切都按预期工作。当我将系统部署在不同的主机上时,会出现一些烦人的差异。
在这两种情况下,我都使用与我的主计算机本地安装的IE相同的实例。
假设我在css文件中定义了类:
.field-required:before
{
color: red;
content: "*";
font-weight: bold;
}
我还有一个简单的标签,它使用这个类:
<label class="field-required" for="UserName"> Username </label>
在本地部署系统时,此类代码以这种方式呈现:
部署在远程服务器(名为host2)上的相同代码,从我在主计算机上本地安装的IE浏览器的第二个选项卡访问,呈现如下:
为什么第二种情况下没有显示红星?当我使用firefox时,一切都按预期工作。在访问IE中的远程页面时是否启用了任何安全策略或某些功能,这会禁用某些功能?昨天我遇到了JSON的问题,当我浏览远程部署的系统时,这个问题无法识别。当本地部署同一系统时,一切都有效。但是,我仍在使用相同的IE实例。由于这是相同的浏览器,发生了什么?
更新
这是整个来源
<!DOCTYPE html>
<html>
<head>
<style>
.field-required:before
{
color: red;
content: "*";
font-weight: bold;
}
</style>
</head>
<body>
<div><label class="field-required" for="UserName">Username</label></div>
<div><input id="UserName" name="UserName" type="text" value="" /></div>
</body>
</html>
缓存不是问题
答案 0 :(得分:2)
content
property在IE8中有效,但在IE7中不起作用。
因此,我确信您的页面在本地以IE8模式呈现,但在您的其他服务器上,它将以IE7兼容模式呈现。
您可以从两个位置打开页面,按F12,然后查看“文档模式”设置以验证这一点。
这种情况可能有多种原因。
请参阅:http://hsivonen.iki.fi/doctype/#ie8modes
最可能的原因是您按下IE中的“IE7兼容模式”按钮。
您可以通过添加此元标记来“快速解决”此问题:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
如果没有,请在链接中查看该列表,看看原因是什么原因。
答案 1 :(得分:1)
假设一切都在部署,并且这是IE 8,那么我的猜测是它可能是兼容模式。由于同样的问题,我们的网站经常“失败”QA - 无论我多少次告诉QA团队检查compat模式!
默认情况下,IE8以兼容模式显示Intranet站点,这意味着在将其部署到非Intranet位置时可能会出现差异。同样地,它可能是兼容模式导致问题的手动覆盖(即“我的机器”,但不是这个,或者确实'不是我的机器',而是其他所有东西)。
在本地和远程检查compat模式并确保它们是相同的。如果没有,请在远程计算机上查看时将其设置为相同。
然后看看配置IE默认情况下不使用compat模式,如果那是它正在做的事情。
如果不是 - 那么它可能是缓存或者没有部署的东西。
我确保所有内容都已部署,清空IE的缓存并再次尝试。