我正在使用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" />
但这并没有给我通过按钮切换浏览器模式的功能。
答案 0 :(得分:1)
这是为了让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]-->
希望这会有所帮助
答案 1 :(得分:0)
如果您确实在页面中包含此标记
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
那就是按钮丢失的原因。您已经告知IE该网站(据称)与其标准呈现模式兼容。因此,它不会向用户显示兼容模式的按钮,因为这会(假设)允许用户意外地切换渲染模式,可能会破坏您网站的可视布局。
讽刺的是,我经常遇到相反的问题。当我不想要时,该按钮经常出现。它是否出现的标准看起来非常挑剔。如果你们每个人都想要相反的行为(没有按钮存在),我建议将上面的元标记作为标题的第一个标记。