zoukankan      html  css  js  c++  java
  • IE8如何定义浏览器工作模式避免网页显示混乱

      W3C终于发布了第一个HTML5草案,大家还沉溺在HTML2XHTML转换的快乐和痛苦中时,却又突然发现,HTML5和XHTML2,到底谁是未来?……,当然,HTML5和XHTML2会保持最大兼容性,W3C和WASP肯定比我们更清楚这一点的重要性。不过如果都“最大兼容”了,为何不统一呢?HTML那种不标准的代码解析起来可不怎么好玩。
      W3C的效率那是相当出名(就像IE实现标准的效率),现在第一个草案,正式定稿最早是2010年,这么算起来,要等IE支持(我坚信那时IE仍是主流浏览器),恐怕我们的显示设备原理和效果都升级换代了。到时再用一份“妥协”过的“标准”——拜托,这可是IT产业。很多美好的标准或技术,从我们开始期盼,到我们都不再编码,它都不会实现。
      其实HTML5这事儿没多大动静,闹得正欢的是IE8实现“超级标准模式”的事儿,IE开发团队为了让只认识IE的,用IE6/7的所谓“符合标准”代码,错误的实现他们想要的样式的网页作者们不用修改他们的网页,决定让IE8在“标准模式”下实现IE7的显示结果,而实现“更正确”的标准需要在网页中加入一段META信息。
    嗯,技术一点来说,IE6依靠DOCTYPE来区分怪癖模式(IE5.5或更早版本的绘制网页方式)和标准模式,但IE6实现的“标准模式”依然有许多错误,而当IE7改进“标准模式”时,这些“错误的标准模式的代码”就会展现出错误的样式。为了避免该问题再发生在IE8身上,IE团队决定使用一个META标签或HTTP包header来告诉浏览器,用“超级标准模式”来绘制网页,而现在的标准网页将默认为IE7的绘制方式。
      如果ACID2测试网页要想在IE8下正确表现,ACID2测试需要修改网页,加上一个META信息,告诉IE8用“超级标准模式”。

      随着IE8 beta1的发布,发现连sina有显示问题,由于IE8 对标准的“良好”执行,当 XHTML 文档使用 Transitinal 类型时,会自动选择 Quirks 模式,即 IE5 的模式来解析,所以也就不难理解为何大多数站点会遭遇显示问题了。
      如何处理该问题呢?方法如下:
      1. 将文档类型改成 Strict。也就是将
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      改成
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-Strict.dtd">
      2. 该完之后如果还没有解决问题,那么只好强制声明了,在 </head>结束之前加入
      <meta http-equiv="X-UA-Compatible" content="IE=8" />
      如果需要工作在 IE7 Strict 模式下,改成 IE=7。
      这样一来,破相的问题就基本解决了。如何查看 IE8 的工作模式呢,在 IEBlog 的留言中有解答,执行 javascript:alert(document.documentMode);,返回 5,说明工作在 IE5 Quirks 模式下;返回 7,说明工作在 IE7 Strict 模式下;返回 8,说明工作在 IE8 Standards 模式下。

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    驱动调试常见问题_Camera
    如何从零开始开发一款嵌入式产品(20年的嵌入式经验)
    git入门与实践
    ramfs, rootfs, initrd and initramfs
    Living a Fulfilling Life: A Guide to Following Your Heart
    有关 jffs2_scan_eraseblock 问题小结
    JS_imgload
    JS_闭包和内存.
    JS_textarea自适应高度
    Css_制作旋转字体
  • 原文地址:https://www.cnblogs.com/Athrun/p/1450373.html
Copyright © 2011-2022 走看看