Web标准前途是否依赖浏览器技术

2016-02-19 23:13 1 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐Web标准前途是否依赖浏览器技术,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

原文:

作者:Eric Meyer

当我读了一遍Aaron Gustafson的Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8  后,我心里的第一反应就是深深的否定这种观点. Aaron描述的version-targeting机制是完全错误的, 是完全倒退的, 是和我们应该做的事情完全相反的. 在web开发领域浸淫了十多年的我的每条神经都在反对.

为什么我会如此的抗拒? 部分原因是目标转换器像是"浏览器嗅探"技术的复仇. 真的, 在众多浏览器正确的支持标准前, 嗅探器是应付它们之间不兼容情况的必需的方法, 但是到最后它都没有起到作用. 在你上传你的脚本之后没多久, 一个浏览器的新版本就出现了, 并且又破坏了它. 浏览器嗅探技术脆弱的,弄巧成拙的本性是将标准带给我们的浏览器的理想背后的反抗力量. 如果从浏览器的代码层把它合法化, 那他又将成为一种破坏标准之路的力量了.

首先, 我为目标转换器感到烦扰, 因为它这样做和向前兼容的发展背道而驰. 这曾经是我们的行业多年来的最优方法, 是在浏览器战争中艰难的发现的生存方式. 我们着眼于未来的开发, 大部分使用普及的稳定的功能来实现, 然后使用一些不影响我们网站正常使用的 "尖端技术" - 这逐渐就成为了 "逐步加强". 这种方法的一个例子是在"Go To Print"中描述过的技术, 这种技术可以让进步的浏览器在需要打印的页面上显示出链接的URL,但是又不会破坏不具备这项功能的浏览器的打印的效果.

对于目标转换器而言,什么为未来作出规划, 什么前瞻性, 都几乎被摧毁殆尽了. 浏览器会承诺总是向后兼容. 对于浏览器来说目标转换器就像是个时间机器,  它的想法是当用IE 10来装载IE 7的页面时, IE 10要让自己像IE 7一样的工作, 不管在这些年里发生过什么.

从而, 作为一个开发者, 没有必要追求超现实状态的浏览器. 我甚至可以假设, 浏览器们始终会支持我做的东西, 甚至是那些目光短浅的, 特定浏览器的, 无论如何都需要标准的. 至于浏览器预期将支持的方向: CSS或者JavaScript又或是HTML5...谁又在意呢?

那么, 谁在意呢? A List Apart 的读者们, 的确, 以及我们中的大部分. 但是在调查分析后显示, 大多数的网页内容都没有很重视基于标准,向前兼容的原则.

是的, 我们已经取得了长足的发展. 对开发者进行的教育也结出了一些果实. 尽管如此, 我们必须正确的对待这些. 我们没有(标准)到达所有的人, 或许永远都不会. 一些网站是根据当前浏览器能做什么进行开发的, 而从不管对照规范是否错误, 或者其他浏览器中的行为是否正确.

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

这让浏览器厂商在面对他们的缺陷时处于一个进退两难的境地: 修正它或是保留它? 最经典的一个例子是 "Internet Explorer的原始width和height" , 这是对CSS规范的错误执行. IE 团队在发布IE 3后不久就意识到这个问题了...但是一直到了IE 6才真正修复, 这样的延误减慢了CSS的应用, 并引发了所有的JavaScript嗅探和CSS Hacks.

Doctype的转换确实拯救了它们, 允许IE 6在"quirks mode"保留旧的(错误的)行为, 在"standards mode"下进行正确的解析 - Mac版本的IE5引进的一个机制, 也很快被其他浏览器采用了.

让我们想一想, 通过Doctype的转换, 浏览器有效的认可了两种状态: 老的和正确的. 这是在Doctype转换出现之前的日子里的一种最新的,最伟大的方法.

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

来源:https://www.tulaoshi.com/n/20160219/1629463.html

延伸阅读
标签: Web开发
Firefox 是由 Mozilla 开发的开源 web 浏览器。 Firefox 是什么? Firefox 是一款免费的可用于 Windows、Linux 和 Mac 的开源 web 浏览器。它小巧快速,可提供弹窗阻止和标签式浏览等许多新特性。 Firefox 基于 Mozilla 代码,是标准兼容性最好的浏览器之一。 Firefox 可用于 Windows 98、Windows 2000、Windows XP、Mac OS X 以及 Linu...
标签: ASP
  在 asp 应用中,经常用到 Session 对象来保存用户临时私有数据,而 asp 的 Session 对象是依赖于浏览器的 Cookie 的,如果用户出于安全原因或者无意中关闭了 Cookie 选项,则 asp 将无法正确识别用户,最终导致 Session 对象不能正常使用。   要正确执行以后的程序,就要先识别客户程序是否接受 Cookie,然而浏览器并没有提供识别...
标签: Web开发
CSS Hack是在标准 CSS 没办法兼容各浏览器显示效果时才会用上的补救方法,我们在webjx.com中不泛深入介绍CSS兼容性的文章。在各浏览器厂商解析 CSS 没有达成一致前,我们只能用这样的方法来完成这样的任务。 在webjx.com上你可能能搜索到一大堆的 CSS Hack,但是我今天发布的你可能并不都很了解,因...
标签: Web开发
判断访问者的浏览器是否支持JavaScript和Cookies 许多网站需要客户端做许多复杂的工作,比如:用客户端 JavaScript 进行数据合法性校验,这需要客户浏览器的JavaScript enabled;使用 Session 变量记录身份等信息,需要浏览器 Cookies enabled。因此,有必要确定用户浏览器中的这些选项被打开。在我的网站中,我使用了一串简洁的代码实...
在学习中遇到问题可以到 论坛 发贴交流! CSS CSS过去经常被用来定义字体的属性,而现在可以用它来控制整个文档的布局。然而,为了有效的用CSS来控制布局,需要做一些不同的处理,这种不同是跟用表格布局相对比的。 为了CSS可以高效的控制布局,结构化、语义化的XHTML是必不可少的。 浏览器的支持 正如前面所提到的,在过去几年...

经验教程

343

收藏

98
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部