有人可以用简单的术语解释IE8 浏览器模式和文档模式之间的区别吗?
是什么导致文档模式更改?
如果用户通过开发人员工具更改模式,即使刷新页面,更改是否仍然存在?
我问这个是因为我们在这里做了一些IE8测试,不同的人有不同的模式组合,我想弄清楚这是怎么回事.
IE8中有"Internet Explorer 8","Internet Explorer 8兼容模式"和IE7模式.
但是,IE中的默认设置使所有Intranet网站都使用"IE8兼容模式",即使我已经设置了doctype,meta标签,http标头也建议强制进入IE8模式.
我有
<!DOCTYPE HTML PUBLIC" - // W3C // DTD HTML 4.01 Transitional // EN"" http://www.w3.org/TR/html4/loose.dtd ">
和
<meta http-equiv ="X-UA-Compatible"content ="IE = 8">
但它仍然进入"IE8兼容模式",IE设置没有任何变化.
如何强制它进入纯粹的"IE8"模式,而不更改任何浏览器的设置?
PS.我不是在说"文件模式".
html internet-explorer-8 ie8-compatibility-mode ie8-browser-mode x-ua-compatible
我试图打开http://jsfiddle.net/在IE8与BrowserMode-- IE8和Document Mode--IE8开发者工具.在其他浏览器中,它工作正常,甚至在IE9中它工作正常.但是我看到了javascript中的错误IE8 and older versions of IE.
SCRIPT1010: Expected identifier
EditorCM.js?Spring, line 105 character 25
SCRIPT438: Object doesn't support property or method 'addEventListener'
heyoffline.js?Spring, line 24 character 5
SCRIPT5009: 'MooShellEditor' is undefined
jsfiddle.net, line 91 character 7
SCRIPT5007: Unable to get value of the property 'editor': object is null or undefined
Actions.js?Spring, line 130 character 5
Run Code Online (Sandbox Code Playgroud)
这就是它的呈现方式 IE8

jsfiddle是否正在使用IE8和旧版本?
我知道这个问题的许多变化都在这里被问到,但到目前为止还没有我尝试过的解决方案.
我希望我的网络应用程序在IE中以IE9文档模式打开.当我现在打开页面时,它总是在"Internet Explorer7标准"中打开,而"Internet Explorer9标准"被列为页面默认值.我尝试过tagss的几种变体,包括
<meta http-equiv="X-UA-Compatible" value="IE=Edge">
Run Code Online (Sandbox Code Playgroud)
和
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9">
Run Code Online (Sandbox Code Playgroud)
(都在头标记之后)
我也尝试过条件语句,例如来自SO的这个例子:
<!--[if IE 7 ]> <body class="ie7> <![endif]-->
<!--[if IE 8 ]> <body class="ie8> <![endif]-->
<!--[if gt IE 8]><!--><body><!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)
目前我正在使用: <!DOCTYPE html>
当然我可以在F12中手动切换模式,但我想在IE9文档模式下直接打开站点(兼容模式始终默认为IE9兼容模式).
目前我正在研究内部网开发服务器; 我读过这可能是一个因素?但我真的更喜欢任何解决方案都是客户端,我可以添加到JS/HTML .....
javascript meta-tags ie-developer-tools ie8-browser-mode internet-explorer-9
是否可以使用Javascript更改IE文档模式?我不会在这里详细介绍细节,但我正在与一个锁定的Drupal网站进行斗争,这个网站不允许任何访问来编辑主题文件.显然,正确的做法是将一些东西写入头部,如下所示:
<meta http-equiv="X-UA-Compatible" content="IE=8">
Run Code Online (Sandbox Code Playgroud)
但是,正如我所提到的,我无法访问该页面的那一部分,所以我希望我可以使用Javascript ......有点像这样:
document.getElementsByTagName('head')[0].appendChild('<meta http-equiv="X-UA-Compatible" content="IE=IEVersion">');
Run Code Online (Sandbox Code Playgroud)
可悲的是,这不起作用.
我正在使用IE8,但右下角的textarea调整大小没有显示.这个相同的代码在Firefox中运行正常.在使用IE时,我在一些在线示例中也注意到了同样的问题.
任何人都知道在IE中显示调整大小底角的技巧?
我的CSS:
textarea { resize:both; }
Run Code Online (Sandbox Code Playgroud)
我的HTML:
<div>
<textarea rows="20" cols="150">
</textarea>
</div>
Run Code Online (Sandbox Code Playgroud) 我们有一些HTML页面(本地,而不是Web服务器),它们使用BASE元素来标识包含一堆常见样式表和图像的特定基目录.这是一个示例(页面存储在c:\ temp\html\test.html中,资源目录是c:\ temp\resources):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<base href="file:///c:/temp/resources/"></base>
</head>
<body>
<p><img src="image.jpg" /></p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这在我测试的所有当前浏览器(Firefox,Chrome,IE9)中运行良好,并且在Quirks模式下在IE8中工作正常.但是在IE8标准模式下运行的IE8(此页面的默认设置 - 以及实际页面中所需的模式),任何样式表,脚本或图像引用都被破坏 - 就好像元素被完全忽略一样.
我已尝试过该元素的其他变体 - <base href="file:///c:/temp/resources/">或者<base href="file:///c:/temp/resources/"/>以及各种不同的文件URL,例如file:/// c:/temp/resources/test.html等,以及基础的相对href,但似乎没有说服要加载的图像/样式表/脚本.
我知道上面的例子似乎微不足道,但在我们的实际场景中,我们必须在IE8标准模式下加载IE8中的页面,并且必须设置一个特定的,所以我真的想找到一个解决方案,如果有的话.
我确实发现了一些早期IE8版本中与该元素相关的错误的引用,但它们在很久以前被标记为修复,我在一个干净的Windows 7虚拟机上测试了这个,并且应用了所有IE8更新.
好的抱歉在这里直言不讳但我在过去的两年里一直在开发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所以他们需要这个.
任何帮助表示赞赏.谢谢!
谢谢
我想在IE7和IE8上检查我的网站的屏幕.
我试图在很多网站上搜索,我发现IETester程序遵循这个网站.但它对我的网站不起作用.
那么,我如何使用其他程序或其他解决方案在同一台PC上运行IE7和IE8?