我有一个网页的iframe和iframe中包含需要在怪癖模式下运行的代码(这是微软的Outlook Web Access的,所以它不是我们的代码,我们可以解决反正).IE9引入了一个"功能",当父框架处于IE9文档模式时,它还强制任何iframe进入相同的文档模式.这打破了我们拥有iframe的代码.
我希望这是IE9中的一个错误,但是我的票被拒绝为"按设计"(如果你想看,这里是票)
我无法以怪癖模式运行整个网站,但我只需要在此页面上进行操作.有没有办法以编程方式打开怪癖模式渲染?无论是那种,还是模仿按下"兼容性视图"按钮的方式 - 按下这几乎可以将IE9变成IE8,这也很好用.
可以做这些事情中的任何一个吗?
compatibility internet-explorer quirks-mode ie8-compatibility-mode internet-explorer-9
鉴于此HTML:
<div class="OpenIDSelector">some text</div>
为什么这个JQuery选择器在某些浏览器和某些页面上匹配它,而在其他页面上却不匹配?
$('.OpenIdSelector')
注意:我遇到了这个问题并且自己解决了,但是它很烦人,我在StackOverflow上找不到它,所以我把它作为Q&A对发布,所以别人不会像我那样浪费一个小时.
如果网页的doctype为HTML5.
<!doctype html>
哪种渲染模式适用于IE6?
该document.compatMode告诉CSS1Compat.它看起来是标准模式,而不是怪癖模式.但是,这是真的吗?IE6在创建HTML5术语之前发布.IE6如何识别HTML5 doctype?
我创建了一个网页(http://www.snow4life.yum.pl),它在firefox,chrome等中正确呈现.当然,愚蠢的IE复杂的东西,因为它自动进入怪癖模式,即使doctype正确设置和网站通过w3验证(有一个错误,错过了一些char,但文件已在十六进制编辑器中清除).如何阻止ie进入怪癖模式?有什么办法吗?
使用(模拟)媒体查询我正在更改<select>页面中s的字体大小
我也遇到了其他浏览器的问题,但是我解决了暂时从DOM中分离元素并在很短的时间后重新附加它们的问题
但是对于MSIE8,我仍然遇到<option>s的高度问题,它等于max fontSize设置,即使它不再适用
http://fiddle.jshell.net/U3bzT/show/light/
 
 

预期结果:

的font-size同时从一个更大的字体大小切换到一个较小的一个被更新
但不是<option>s 的行高/高度
同时选择多个和选择一个
我怎样才能解决这个问题?
注意: <select> s可能附加了事件,因此我无法使用副本
<script>
// just some code to simulate media query on/off state
var select;
setTimeout(function(){
    select = document.getElementsByTagName("select")[0];
    select.style.fontSize='40px';
    webkitFix();
    setTimeout(function(){
        select.style.fontSize='10px';
        webkitFix();
    },5000);
},5000);
function webkitFix(){
    document.body.removeChild(select);
    setTimeout(function(){ document.body.appendChild(select); }, 1);
}
</script>
<select multiple size="6" style="font-size:10px">
    <option>AAAAAA1</option>
    <option>BBBBBB2</option>
    <option>AAAAAA3</option>
    <option>BBBBBB4</option>
    <option>AAAAAA5</option>
    <option>BBBBBB6</option>
    <option>AAAAAA7</option>
    <option>BBBBBB8</option>
    <option>AAAAAA9</option>
</select>
在我看来DOCTYPEIE(6-8)中的一些声明可能会导致浏览器忽略height="100%"表和div(style="height:100%")
例如
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 <title>Test1</title>
 </head>
 <body>
  <div style="border: 2px solid red; height: 100%">
  Hello World
  </div>
 </body>
</html>
将渲染DIV文本的高度,它不会拉伸.删除DOCTYPE声明会导致根据DIV需要垂直拉伸.
所以我的问题是:
DOCTYPE和仍然允许表拉伸?我有一个旧的应用程序使用框架(而不是iframes)是在IE6天回写,所以它以怪癖模式运行.
是否有可能(使用IE 7或8)使一帧仍处于怪异模式而另一帧处于标准模式或整个浏览器必须处于一种模式还是另一种模式?
我一直在尝试没有成功.
我已经看到这个答案,适用于iframe,但是普通旧框架呢?
我想知道Windows 8上的IE10是否还有Quirksmode.因为我们有一个web应用程序(仍然:|)与quirksmode一起使用,我想知道它是否仍在Windows 8上运行.
Internet Explorer 11是否仍具有可用的怪癖模式?我们使用一个非常古老的系统,它依赖于怪癖模式.
我知道这是一个非常古老而脆弱的环境,但我只是想知道它是否会继续工作.
我正在开发一个页面,当我加载到IE8并查看开发人员工具时,它告诉我页面默认是怪癖模式.
我有一个严格的DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
我甚至继续进行明确的标准转换,但我认为我不需要:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
我无法理解为什么页面默认不是IE8标准?
我唯一能想到的是,为了进入这个页面,我首先必须登录到一个应用程序,我必须遍历的第一个页面是旧的怪癖模式页面.IE是否决定在服务器级别使用哪种模式,还是应该逐页决定?
谢谢!
quirks-mode ×10
html ×4
css ×3
doctype ×2
javascript ×2
browser ×1
html5 ×1
jquery ×1
standards ×1
transitional ×1
windows-8 ×1
xhtml ×1