博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于web标准
阅读量:5908 次
发布时间:2019-06-19

本文共 1452 字,大约阅读时间需要 4 分钟。

从我去年接触前端,到现在,我似乎都没有特意去研究过web标准。我只知道传统上推崇结构样式行为分离,js、css、html各司其职,

不推荐在文档的节点上写类似<p οnclick=“fn()”>的事件绑定,而是js中获取节点再绑定事件;

不推荐在js里操作css样式,而是通过改变DOM节点的类名实现效果,等等。

这些都是实践中大家遵循的“规范”,然而Web标准,实际上说了哪些内容?

为什么会有WEB标准?

W3C提到:

      由于存在不同的浏览器版本,web 开发者常常需要为耗时的多版本开发而艰苦工作。当新的硬件(比如移动电话)和软件(比如微浏览器)开始浏览 web 时,这种情况开始会变得更加严重。

为了 web 更好地发展,对于开发人员和最终用户而言非常重要的事情是,在开发新的应用程序时,浏览器开发商和站点开发商共同遵守标准。

web 的不断壮大,使得越来越有必要依靠标准实现其全部潜力。web 标准可确保每个人都有权利访问相同的信息。如果没有 web 标准,那么未来的 web 应用,包括我们所梦想的应用程序,都是不可能实现的。

同时,Web 标准也可以使站点开发更快捷,更令人愉快。为了缩短开发和维护时间,未来的网站将不得不根据标准来进行编码。开发人员不必为了得到相同的结果,而挣扎于多版本的开发。

 

嗯,所以说白了就是为了 消除各大厂商在实现web功能时各行其是导致的浏览器兼容性问题。

在开发者层面上,则是让开发者的代码可以在不同厂商、不同版本的客户端被正常访问。

突然想到最近看到的一些公司的招聘还要求兼容IE5、IE6,我就一阵哆嗦。

WEB标准有哪些东西?

百度上说

WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。

所以,当我们在学习前端三把剑的时候,我们已经在不知不觉地遵守了部分WEB标准,因为标记语言、脚本语言本身也在不断标准化。

当我们开始学习html的时候,书本上、教程网站上会告诉我们:

html标签往往是成对存在的,标签要闭合,像<img /> <br />这样的标签要加“/”表示闭合。

标签名要小写,html特性大小写不敏感,特性的值要加双引号。

這些是结构层面的标准。

事实上,至今的WEB标准还真不少:HTML4.0(当然现在大家更多提到的是H5)、css2.0、xhtml1.0(号称更严谨的html),ECMAScript等等。

但是标准并不等于事实标准。

因为标准中的一些较新内容并未有被各个浏览器实现。

像ES6,和ES5相比确实有些激进,以至于像promise、解构赋值之类的,只有部分浏览器原生实现了。所以大家不得不通过babel转码。

而作为开发者,我们更多时候只要遵循语言本身的规范,合理使用标记语言,让标签语义化,在构建页面时遵循三者分离,在写逻辑时少用兼容性不好的api,页面就挺符合web标准了。

另外,当我们说web标准兼容性好时,其实指的是向后兼容性好。对于旧版本的浏览器,支撑成度不一,所以有时候我们想使用一些新api时,需要给页面代码添加polyfill。

 

转载于:https://www.cnblogs.com/alan2kat/p/7792158.html

你可能感兴趣的文章
巧用DOS命令合并多个文本文件的内容
查看>>
内穆尔(Nemours)儿童健康系统选择HID Global解决方案
查看>>
行业看点 | 段路明研究组《自然》子刊发文 揭示深度神经网络和量子多体问题的关联...
查看>>
「镁客·请讲」bitBerg杨坤:冰山下藏着的是VR游戏的未来
查看>>
9Python全站之路系列之MySQL SL注入
查看>>
phantomjs-循环输出输入参数
查看>>
ListBox自绘,列表显示一系列图片
查看>>
控件名称不可修改
查看>>
综述:人工智能、数据科学、机器学习
查看>>
机器学习之k近邻算法
查看>>
远程桌面dos开启
查看>>
SQL
查看>>
c# 下载网页图片
查看>>
执行Windows PowerShell脚本
查看>>
SQL Server 2014 新特性——内存数据库
查看>>
腾讯2017秋招笔试编程题--游戏任务标记 java 实现+ c 实现
查看>>
Visual Studio调试之断点基础篇
查看>>
Red hat storage
查看>>
jetty continuation的用法、实现、分析
查看>>
rsh 的开启与使用
查看>>