测试DOCTYPE在各种浏览器上的Quirks模式和标准模式
来源:互联网 发布:java详细设计文档模板 编辑:程序博客网 时间:2024/05/16 06:14
首先声明, 讨论这个问题本文不具备太大的现实意义, 就好比花大笔墨讨论用java1.1重写我们目前的项目会有哪些影响一样. 但是做web开发, 难免要接触它. 我各人觉得quirks模式翻译为怪异模式不是很好, 至少我花了好久才揣摩出它的真正含义. 简单来说, quirks模式就是兼容模式, 就是让相对较新的浏览器兼容旧浏览器, 让较新的浏览器表现的像旧的浏览器一样, 包括再现旧浏览器中已知的bug. 从开发者的角度来说, 就是让我们今天写出来的代码, 能够在旧的浏览器(比如ie5)上正确地表现. 除了兼容(quirks)模式和标准模式, 还有过渡(transitional)模式, 即没有完全兼容旧版本的bug.
DOCTYPE, 一般出现在html文档的第一行就是用来触发浏览器的渲染模式. 根据mozilla网站上一篇文章的介绍, DOCTYPE在HTML5中仅仅用来触发标准模式, 旧版本的HTML可能会给予DOCTYPE更多的含义, 但是还没有哪个浏览器用DOCTYPE来做除了切换兼容模式以外的事情. 我们不妨用下面的code来检测一下浏览器的渲染模式:
<!-- DOCTYPE Here --><html><head><title>DOCTYPE Test</title></head><body><div id="d"></div></body><script>function $(id){return document.getElementById(id);}$('d').innerHTML = document.documentMode + '<br />' + document.compatMode</script></html>我挑选了如下一些DOCTYPE的声明方式, 得到如下的结果:
DOCTYPE声明说明IE8FFChrome<!DOCTYPE HTML>HTML5推荐的方式CSS1CompatCSS1Compat <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd" >严格模式声明并给出DTD URLCSS1CompatCSS1Compat <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">严格模式声明但不给出DTD URLCSS1CompatCSS1Compat <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">过渡模式并给出DTD URLCSS1CompatCSS1Compat <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">过渡模式但不给出DTD URLBackCompatBackCompat
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"somethingbad">
http://www.cs.tut.fi/~jkorpela/quirks-mode.html
- 测试DOCTYPE在各种浏览器上的Quirks模式和标准模式
- DOCTYPE的混杂模式(quirks mode)和标准模式(standards mode)
- 浏览器的两种模式quirks mode 和strict mode
- 浏览器的两种模式quirks mode 和strict mode
- 浏览器的两种模式quirks mode 和strict mode
- 浏览器的两种模式quirks mode 和strict mode
- 浏览器的两种模式quirks mode 和strict mode
- 浏览器的两种模式quirks mode 和strict mode
- doctype声明、浏览器的标准、怪异等模式
- doctype声明、浏览器的标准、怪异等模式
- doctype声明、浏览器的标准、怪异等模式
- doctype声明、浏览器的标准、怪异等模式
- doctype声明、浏览器的标准、怪异等模式
- quirks mode(怪异模式) 和 standard mode(标准模式)
- quirks mode(怪异模式) 和 standard mode(标准模式)
- doctype 怪异模式和标准模式
- doctype 怪异模式和标准模式
- 浏览器的怪异模式和标准模式
- java中接口和抽象类及其与接口有关的设计模式
- 字符设备驱动分析
- Package .XXXrpm is not signed(包未签署错误)
- [C++ 学习] C++ Primer 习题 4.36 指针数组 & 数组指针
- 用next_permutation计算全排列
- 测试DOCTYPE在各种浏览器上的Quirks模式和标准模式
- [给力原创]使用jQuery-ajax仿新浪微博通知折叠/显示效果,实现数据加载(二)
- [更新中]H8OJ刷题记录
- Windows下用Eclipse搭建C/C++开发环境
- 排序算法 - 堆排序 (C++)
- Android屏幕密度(Density)和分辨率的关系
- VMware下安装ArchLinux
- Axis2 Web服务配置文件services.xml详解
- PruferCode相关