IE 8 提出“超级标准模式”

作者:随想飞翔 来源:随想飞翔 时间:2008-01-24 19:26:00 

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用“超级标准模式”。真CCTV。

为过去的部分错误网页,IE要牺牲未来的网页。微软总是在用一个错误掩盖另一个错误,所以,我们总是要疲于解决浏览器间(准确地说是IE和其他浏览器)的兼容性问题。“不破坏现有网络”总是被当作微软的借口,事实上他们每次发布新版IE都“履行”了这点,总是有新bug推翻了这个借口。

当然,这个想法看上去,不是完全没有好处,至少我们可以让网页在IE下始终显示如一(来兼容MS犯下的错误)。可是,当IE9修正了IE8的错误标准时,我们该怎么办?如果还是需要IE条件注释或CSS HACK来解决的话,那这个标签有什么意义?还是说,微软以为这个标签就可以让大家都总是平滑听话的升级到最新的IE,就像Opera社区那样?

让IE永远用最新的版本绘制网页

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

或者用HTML5的doctype

<!DOCTYPE html>

(IE6/7将以标准模式处理)

或者HTTP包header

X-UA-Compatible:IE=edge


反对的理由

  1. 未来的IE9/9+能否真的正确兼容过去的版本?

  2. IE的体积会不会越来越大?比如1G?

  3. 浪费互联网流量资源。

  4. 如果实现多引擎间交互,比如主网页和内嵌iframe用不同版本的引擎时?

  5. 微软在鼓励大家用非标准代码开发网页?

  6. 期间的小版本如何处理?IE史上发生过补丁改变绘制的事情。

  7. 更多的安全漏洞?(绝大多数病毒都是通过IE网页漏洞传播的吧……)

部分评论:

是时候宣布浏览器间兼容性已经破产?
我们总是为MS修复网页,而不是MS为网页修复IE。
如果干掉IE,那么我们就没这么多问题了。

综合:A List Apart2篇John Resig,Dean Edwards,Safari,Mozilla,456 Berea Street消息

大家的态度就像本文,基本是一边倒的要打到IE,不过不乏很多幽默评论 :) ——看英语看得我头大(而且还看的一知半解,上帝),各位看官有什么好的方法来解决IE这个问题吗?

标签:ie,标准,DOCTYPE
0
投稿

猜你喜欢

  • python实现磁盘日志清理的示例

    2021-05-10 07:08:21
  • asp如何用SA-FileUp上传多个文件?

    2010-06-13 14:34:00
  • sql索引失效的情况以及超详细解决方法

    2024-01-21 09:25:30
  • 对Python 数组的切片操作详解

    2022-06-09 23:29:39
  • Python实现线性判别分析(LDA)的MATLAB方式

    2022-07-21 02:38:34
  • win2008下mysql8.0.11升级mysql8.0.17版本详细步骤

    2024-01-13 18:04:32
  • 基于Python采集爬取微信公众号历史数据

    2023-04-11 15:16:13
  • 创意设计:字母趣味组合

    2008-01-26 18:50:00
  • 基于Vue+Openlayer实现动态加载geojson的方法

    2024-04-27 16:12:22
  • Python Vaex实现快速分析100G大数据量

    2021-05-24 08:48:58
  • 使用Python处理KNN分类算法的实现代码

    2023-11-03 07:03:07
  • Python面向对象之继承原理与用法案例分析

    2021-06-28 02:07:53
  • Golang算法问题之整数拆分实现方法分析

    2023-07-01 00:39:36
  • Python将二维列表list的数据输出(TXT,Excel)

    2021-06-11 05:23:20
  • Python使用Rich type和TinyDB构建联系人通讯录

    2023-07-13 10:33:22
  • 基于torch.where和布尔索引的速度比较

    2021-10-07 16:20:54
  • mysql解析json数据组获取数据组所有字段的方法实例

    2024-01-21 11:10:13
  • 开启SQLSERVER数据库缓存依赖优化网站性能

    2024-01-26 18:05:20
  • 如何使用VUE+faceApi.js实现摄像头拍摄人脸识别

    2023-07-02 16:32:04
  • 用Python进行基础的函数式编程的教程

    2022-10-26 21:14:47
  • asp之家 网络编程 m.aspxhome.com