手工SEO首页 DEDE教程 正文
原文:
作者:Aaron Gustafson
译者:zhaozy in 3user.com
转载请注明作者和译者信息,谢谢!
进步总是要有代价的. 对网页浏览器来说, 由于开发者像是宣传真理一样的拍着胸部担保着一些编辑器和浏览器(特别是Internet Explorer), 用户们为此花费很多的成本. 而当这个浏览器推出了一个新版本, 然后又修正了之前版本的一些错误和对规范的误解(或是引入了新的), 或是以任何方式改变行为时. 站点突然崩溃了, 然后我们的客户, 我们的老板和用户们都感觉到非常的不开心.
我们也许可以花上一段时间来解释为什么我们的网站坏了, 但是如果他们没有被破坏那不是更好吗?
一点点背景介绍
在成功的放出了更好的支持CSS的Internet Explorer 7的动力下, IE团队开始在一个崭新的渲染引擎(更好的遵照CSS 2.1规范)上开始进行IE 8的开发工作. 在他们的努力下, 浏览器已经可以相当精确地表现出 "Acid2 test" () . 这些你跟进的消息, 意味着IE将很快的支持生成内容和数据的URLs, 而且经确认, hasLayout会被永远取消. 它的表现结果会让其他通过Acid2测试的浏览器们进行投票(包括: Safari, iCab, Konqueror, and Opera. Firefox3也已经通过了Acid2测试,但是在文章编写的时候还没有放出.)
在新引擎的开发过程中, IE团队谨记IE 7放出后的反面评价. 一些web标准的狂热者甚至是一部分微软的崇拜者感觉到在"IE7中他们做得还不够 (程序缺陷的修正和CSS支持的改进上)". 但是有很大的一群开发者在感到疑惑, 因为他们的网站在IE6中表现的很完美, 但是到了IE7就完全崩溃了. web标准倡导者 Roger Johanssen 在他的博客中提出了 "页面被破坏的三大原因" (), 这些都驱使大家去改善对标准的支持. IE开发团队发现了第四点: 文档类型转换(DOCTYPE switch), 一个启用现代CSS布局的核心技术在标志兼容性上有致命的缺陷.
文档类型转换器失效了
回到1998年, Todd Fahrner 的 "came up with a toggle(://www.geocrawler.com/archives/list-name.mbox/123/1998/7/0/1037920/)" 方法能允许一个浏览器提供两套渲染模式: 一是给期许遵守标准的开发者的, 另一个是给其他所有人的. 这个观点精辟简单. 当用户端代理遇到对当前HTML标准的Doctype声明良好定义的文档时(也就是 HTML2 不会取消它), 创作者就会知道她在做什么, 并且用"标准"模式渲染这个页面(用W3C的盒模型元素布局). 但是在没有Doctype或者定义了不正确Doctype时, 文档会被用"Quirks" 模式渲染, 也就是说, 用windows版的IE5.X的非标准盒模型进行元素布局.
这个概念在两年后的Mac版的IE上被首次运用, 这种方法很快的被其他浏览器制造者采用, 意识到标准的开发者会在他们的文档中包含正确的Doctype, 这样做他们的部分在浏览器根据规范进行渲染时就不需要额外的工作了. 不注意标准的开发者很幸福的, 他们自己没有发现, 他们以及他们的工具都没有为他们插入正确的Doctype, 但是他们的文档在浏览器中被特殊对待了.
不幸的是, 因为两个关键问题, 为配合广大的呼声,Doctype不可能持续充当标准模式的转换器了:
A List Apart和Web标准项目的推广, 善良的编辑器开发者开始为他们的工具生成的标记中插入有效的,完整的Doctype.
IE6的渲染行为有5年没有更新了, 这让大部分开发者认为这个引擎是正确的, 并且不太会发生改变了.
这两种情况破坏了Doctype的转换, 因为它有致命的缺陷: 使用有效的Doctype意味着你明白你在通过web标准做什么, 你希望获得更正确的渲染, 但是我们怎么知道它失败了呢? 当IE 7降临的时候, 网站们变样了.
当然, 就像Roger指出的那样, 一些被破坏的网站是使用IE6特有的CSS Hack(通常不会有提供选择的机会). 但是发生这样的惨剧是因为他们的开发者只在IE6当中测试他们的页面, 或者他们只关心在IE6中, 他们的网站是什么样的. 因为他们为使用同一类浏览器的族群开发网站(比如说公司的内部网). 现在当然, 你可以只是耸耸肩然后说, 这是被证明是IE6的错, 但是这些开发者应该知道的更多, 但是你会忽略一个事实, 就是这些开发者们从来没有明确的选择 "standards mode", 甚至他们知道有这么个模式存在.
Chris Wilson, Internet Explorer的平面架构师, 经常提到的一个在IE上开发的核心原则: IE团队做出的任何选择的目的绝对不是 "破坏网页". 可悲的是, IE 7却让去多人面对这个事实. Microsoft不愿意造成第二次错误, MicroSoft开始进入Web标准项目(我是其中成员之一), 以及其他几个有标准意识的开发者, 向我们寻求帮助去寻找一个允许开发者自主选择支持web标准的好办法. 最终的目标是找到一种可以比Doctype选择器更直接清楚的方法, 可以运用到任何浏览器中, 不只是IE.
美好的未来
在去年召开的SXSW中, 我有幸看到了纽约公共图书馆的Carrie Bickner(同时是ALA的出版者Jeffrey Zeldman的妻子)领导的神奇的议题. "保存我们的数字遗产以及我们的个人收藏", 讨论图书馆和个人在维护数字档案时遇到的问题. 大部分的问题源自文件格式和应用程序的进步: 例如 Microsoft Office 2007, 它不能可靠的展现一个本来可以展现的word 1.0的文档. 这个议题让我想到了网页从建立开始会有怎样的改变, 以及它们在web标准进步的同时又会怎样的改变.
作为一个web标准的支持者, 我想看到的是浏览器在提供新的支持的时候不断的为执行标准化而改进. 同时我也看到了保护我们曾经辛辛苦苦建立的基于table布局的网站的重要性. 当然, 大部分通过 " Wayback Machine " 存在的错误因为Doctype转换器仍然可以很好的为他们服务而暂时没有遭受到打击, 但是那些让IE 6执行"standards"模式的网站呢? 我也都知道, 在很多案例下, IE 7 也不能完全的渲染它们. 这是不是意味着我们有必要保留一份IE 6的备份在手边, 为了浏览这个网页达到的效果如同创作者想要的那样? 这就是很多图书馆为了浏览古老的文件所做的事情. 在IE 8的时代, 我们同样会面对这些潜在的问题, 用IE 7的渲染引擎生成的正常的文档会不会在IE 8中变了形, 怎么来解决这个问题呢?
上一页12 3 下一页
上一篇:Web标准前途是否依赖浏览器技术
下一篇:CSS高级技巧:圆角矩形
相关文章
- 2020-01-20 CSS高级技巧:圆角矩形...
- 2020-01-20 Web标准前途是否依赖浏览器技术...
- 2020-01-20 CSS实例:三列等高布局...
- 2020-01-20 WEB标准学习经验总结...
- 2020-01-19 硅谷APPUI设计师很吃香:界面漂亮才能成功...
- 2020-01-19 App设计和Web设计间可相互借鉴的六点【设计干货...
- 2020-01-19 一款社交化餐饮类APP界面设计欣赏-饭本...
- 2020-01-19 锤子科技UI设计总监浅谈苹果下一步设计趋势是什...
- 2020-01-19 国外一款优秀运动类的iOS应用APP界面设计欣赏...
- 2020-01-19 三星智能家居的iOS应用APP界面设计概念图...
- 2020-01-19 最新版本全套iPad的GUI PSD[ipad官方设计规范]...
- 2020-01-19 新浪微博Android3.6正式版上线,一睹APP界面设计风...
- 2020-01-19 SKYUI设计师,霸气评价“扁平设计是错的”...
- 2020-01-19 SKYUI设计师-浅谈金融类App常见问题与解决方式...
- 2020-01-19 SKYUI设计案例研究-Firfox Logo 重塑的秘密...
- 2020-01-19 国外优秀的社交类APP界面设计大赛获奖作品欣赏...
- 2020-01-19 DeStiji-风格派|中国GUI设计师的APP扁平化设计...
- 2020-01-19 优秀UI界面设计案例赏析-SKYUI设计师精选...
- 2020-01-19 屌丝最爱:性感的APP界面设计,宅男必备的图标...
- 2020-01-19 设计一个完整精美的APP,你需要非常小心...
- 2019-08-15 湖南网站优化方案...
- 2019-08-15 永济网:网站优化内链该怎么...
- 2019-08-15 华罡seo:网站首页一直不收录...
- 2019-08-19 上海seo快速网站优化是什么...
- 2019-08-20 8月18只基金延长募集 募集失败...
- 2019-08-21 东莞关键词策略seo网站关键词...
- 2019-08-22 谈谈2018seo行业前景和未来发展...
- 2019-08-24 英特尔极限大师杯赛将在北京...
- 2019-08-24 河洛群侠传全支线任务教程攻...
- 2019-08-26 贵阳SEO公司有些人不知道的...
- 2019-08-27 百度之前发布的算法一直有效...
- 2019-08-28 荒野行动网易大神礼包在哪领...
- 2019-08-29 没程序没美工中小微企业应当...
- 2019-08-29 丰田全新RAV4特别版曝光 主打运...
- 2019-08-29 上海网络营销培训主要学什么...
- 2019-08-30 蓝盾助力800亿大工程 号称“新...
- 2019-08-31 几名新生代农民工的技术成才...
- 2019-08-31 唐山网站seo排行精华...
- 2019-09-01 YNET.com北青网...
- 2019-09-03 沈阳优化营商环境打出“组合...
- 2019-09-04 三亚优化崖州湾科技城定制公...
- 2019-09-05 《东方炮弹》公开全新游戏动...
- 2019-09-06 2019内蒙古遴选考试笔试题每日...
- 2019-09-06 视频|教科书式示范!4岁男童与...
- 2019-09-07 奥迪8月全球销量15万辆 中国市...
- 2019-09-08 品牌房企论道2019年房地产营销...
- 2019-09-11 超越同行的seo网站内容优化操...
- 2019-09-15 天津公布最新一批环境违法典...
- 2019-09-21 安徽铜陵:联合国粮农组织考...
- 2019-09-24 小米集团9月23日回购1074万股股...
- 200℃ 织梦Dede如何删除管理员admin...
- 200℃ 关于discuzX3.1存在的问题及修复...
- 200℃ 在Dedecms下面生成Google Sitemap的...
- 200℃ DEDECMS教程:后台验证码图片不...
- 200℃ CSS 浏览器兼容问题整理大全...
- 200℃ CSS3教程(1):什么是CSS3...
- 200℃ W3C标准以及XHTML和HTML...
- 200℃ DEDECMS安全设置 执行php脚本限制...
- 200℃ 使用正则配合程序完美解决自...
- 200℃ DEDECMS 5.7 将data目录迁移后,网...
- 200℃ jquery加载页面的方法(页面加载...
- 200℃ 修改好的jquery滚动字幕效果实...
- 200℃ 浅析织梦(dedecms)三个最重要的...
- 200℃ 织梦cms教程:实现按键盘方向...
- 200℃ 织梦DedeCMS添加新变量出现“...
- 200℃ dedecms5.7实现迅雷下载链接...
- 200℃ 去除dedecms织梦升级友情链接增...
- 200℃ 帝国cms 二级域名绑定栏目的最...
- 200℃ GoDaddy域名转移过户详细教程...
- 200℃ 织梦CMS实现复制文章加出处信...
- 200℃ CSS教程:网页字体的设置和控制...
- 200℃ zblog模板文件说明...
- 200℃ CSS常用属性缩写实例...
- 200℃ PHP执行zip与rar解压缩方法实现...
- 200℃ dedecms相关文章中实现orderby参数...
- 200℃ dedecms织梦教程:发布文章时输...
- 200℃ 修改织梦DedeCMS注册邮件发送通...
- 200℃ 织梦DedeCMS在软件列表页中调用...
- 200℃ 使用503状态码:防止网页被删...
- 200℃ 妙用PS极坐标滤镜打造漂亮水晶...
- 200℃ dede织梦5.7如何在首页调用栏目
- 200℃ 织梦调用指定顶级栏目或当前
- 200℃ Internet 连接防火墙 (ICF) / Inte
- 200℃ DEDECMS必备BANNER幻灯片广告插件
- 200℃ 织梦(DEDECMS)系统搬家终极攻略
- 200℃ 如何设计企业APP或设计企业A
- 199℃ MySQL故障got error 127 when reading
- 199℃ 10个有趣的Javascript和CSS库
- 199℃ 必须勾选同意才能提交表单的
- 199℃ 网站权重和网站的关系
- 199℃ DedeCMS系统管理员帐号密码忘记
- 199℃ CSS选择器优先级详细介绍
- 199℃ 织梦后台文件列表实现按文件
- 199℃ dedecms无错优化版全站调用购物
- 199℃ DEDE Fatal error: Call to a member fu
- 199℃ WinXP下安装IIS搭建ASP环境教程
- 199℃ Dedecms 生成速度慢 的解决办法
- 199℃ 服务器性能变慢 c盘temp文件夹
- 199℃ linux使用scp命令备份文件 scp拷
- 199℃ dedecms文章调用来源和作者为空
- 199℃ 教你去掉dedecms首页互动中心会
- 199℃ dedecms调用会员头衔的方法
- 199℃ nginx禁止访问.git文件的设置教
- 199℃ 直接双击启动tomcat中的startup
- 199℃ dedecms织梦系统$GLOBALS定义文件
- 199℃ Nginx图片防盗链配置实例
- 199℃ 集群运维自动化工具ansible的安
- 199℃ Tomcat服务器图片地址中文路径
- 199℃ lnmp环境中如何为nginx开启path
- 199℃ 织梦DedeCMS模板防盗的方法
- 标签列表
-