Sco*_*a P 2 html cross-browser ie8-browser-mode internet-explorer-9
好的抱歉在这里直言不讳但我在过去的两年里一直在开发IE 8和IE9,似乎无法做到这一点.我在abhor公司工作并为他们的网站开发.出于某种原因,IE8或IE9默认为较低的文档模式,如ie7或ie8.我试过一切......
1)放HTML 5 doctype而不是别的.根据微软的说法,这应该足够了2)把html5 doctype和x-ua兼容的元标记放在标题下的页面中,分别设置为边缘或IE8或IE9.
我的页面看起来像这样
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7">
<![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt- ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <! [endif]-->
<!--[if gt IE 8]> <html class="no-js"> <! [endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
Run Code Online (Sandbox Code Playgroud)
它真的令人沮丧,因为我读到的一切都说应该有效.微软声称这将工作,甚至只是设置HTML 5 doctype将起作用.我听说要设置一个http标头来修复但老实说,微软是否认真?我发现很难相信开发人员需要更改他们的apache设置以添加http标头以使页面呈现我是标准模式
有人可以帮我吗?我错过了什么?我真的开始讨厌微软了!更多!!!!!
更新::
我最近发现我的公司已经检查了"在兼容性视图中显示内部网站点"并且看起来我想如果我取消选中它然后它将正常工作.但是,这不是解决方案!无论我在哪里阅读,我都会看到,如果您看到与X-UA兼容的元标记或http标头,它应该优先.这是一个完整的谎言.有没有人有答案?我知道外部用户会很好但是我的业务正在测试这个并且他们提出问题因为它们是内部的并且很难说服他们并告诉他们取消选中该框.它没有给他们很好的感觉.此外,我不能让桌面工程团队删除它,因为它已经到位,因为内部的旧应用程序不会编写为支持IE8,9所以他们需要这个.
任何帮助表示赞赏.谢谢!
谢谢
我们的Intranet也被锁定,兼容性视图用于所有Intranet站点并使用IE 8,因为它们都是Windows XP.
我发现,一旦IE 8开始处理标准锅炉板条件注释(以确定要附加到<html>标签的哪个类),那么它就是游戏结束:IE在那时决定它在兼容模式(IE 7)中运行,我什么也做不了会恢复这种情况.
我发现通过将<meta>标签放在标签后面,<!DOCTYPE>它完全按照预期工作:
<!DOCTYPE HTML>
<meta http-equiv="x-ua-compatible" content="IE=Edge">
Run Code Online (Sandbox Code Playgroud)
在我眼里,这似乎不是很"标准",但它确实有效.我喜欢这样做的任何替代方法,其中<meta>标签可以放置在<head>我尝试了几个小时的时间.