我正在使用Umbraco开发一个网站,我想使用兼容性按钮在IE8和IE7之间轻弹,但它是隐藏的。这是一个内部地址,但我没有在同一台服务器上使用类似网站的问题。 (唯一的区别是这是使用'非标准'端口8080,我不应该认为这会有所作为?)
我查了以下博文; Compatibility View Button Missing in IE8
哪个州,
由于以下原因,“兼容性视图”按钮将丢失,
- 如果您正在查看任何网页,并且您在工具>兼容性视图设置中选中了“在兼容性视图中显示所有网站”复选框。
- 如果您正在查看Microsoft提供的兼容性视图更新列表中包含的网页,并且您在工具>兼容性视图设置中选中了“包括Microsoft的更新网站列表”复选框,
- 如果您正在查看Intranet页面,并且在“工具”>“兼容性视图设置”中选中了“在兼容性视图中显示Intranet站点”复选框。
- 如果您通过开发人员工具栏切换了“文档模式”或“浏览器模式”设置。
- 如果您正在查看已宣布为Internet Explorer 8“准备就绪”的页面。
我的网站/浏览器设置不属于任何这些类别,因此我只能假设涉及更多因素。
我在所有页面中使用以下DOCTYPE,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
我可以通过包括强制IE使用最新版本进行渲染,
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
但这并没有给我通过按钮切换浏览器模式的功能。
这是为了让html5在IE8,9中运行
<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js" type="text/javascript"></script>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/ie7-squish.js" type="text/javascript"></script>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
<![endif]-->
希望这会有所帮助
如果您确实在页面中包含此标记
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
那就是按钮丢失的原因。您已经告知IE该网站(据称)与其标准呈现模式兼容。因此,它不会向用户显示兼容模式的按钮,因为这会(假设)允许用户意外地切换渲染模式,从而可能破坏您网站的可视布局。
具有讽刺意味的是,我经常遇到相反的问题。当我不想要时,该按钮经常出现。它是否出现的标准看起来非常挑剔。如果你们每个人都想要相反的行为(没有按钮存在),我建议将上面的元标记作为标题的第一个标记。