Chinaunix首页 | 论坛 | 博客
  • 博客访问: 777
  • 博文数量: 1
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 15
  • 用 户 组: 普通用户
  • 注册时间: 2015-04-27 14:38
文章分类
文章存档

2015年(1)

我的朋友
最近访客

分类: Web开发

2015-04-28 14:34:25

概述


     对于一直从事B/S架构(B/S也是一种C/S架构,只不过C/S自己写显示而B/S有相对统一的显示引擎实现而已)WEB领域的开发人员来说,浏览器Browser再熟悉不过了。不管你是JAVA流还是微软流抑或PHP流,WEB开发新流派。不论你的服务器端采用哪种业务架构,ORACLE数据库还是MSSQL,站在用户的角度思考,这个才是他们直接能接触到的,前端的用户体验给了用户直观的印象,投其所好,我们也总少不了要跟它打交道,很多问题的根源皆来源于此,了解一下其内部执行原理,也许对我们的开发工作会事半功倍,从一位纯粹的开发人员到一位技术领域的专家,也许就在于这些细节中。


  本文讨论仅限HTML/CSS类与浏览器显示相关的知识。


  不包括javascript浏览器引擎。


  不包括客户端与服务器端HTTP通信。


  不包括服务器端处理流程部分。


浏览器种类


  我们现在经常使用的主要有5种浏览器,Internet Explorer,Firefox,Safari,Chrome跟Opera,包含了市面上3种主流的浏览器网页排版引擎,WebKi(chrome,safari,opera),Gecko(Mozilla,Firefox 等使用的排版引擎)和Trident(也称为MSHTML,IE 使用的排版引擎)。(详见,大家可以跑一下您所使用的浏览器跑分情况。其中Firefox,Chrome ,Safari三款浏览器部分源代码是开源的,一些分析工作正式基于其源码进行的分析。顺便说一句, Chrome等开源浏览器市场中所占的份额越来越高(见(ie6使用情况), HTML5前端开发利器的推出,HTML支持标准的逐渐统一,IE6(7,8)等低版本的逐渐淘汰,也许往后针对CSS HACK等兼容性场景的需求会越来越少,专注于实现而不是专注于兼容,提高我们的效率,体现思想核心价值体现,这才是开发人员真正该干的事。站在用户的角度来思考,只是稍微改变一下操作方式换来的是真正的产品易用性与安全性的提升,也是一件好事,希望往后的产品开发都只针对IE9以上版本。


  浏览器的主要职责


  浏览器,我们天天在用,可是如果哪天面试一个WEB领域的开发,要你说出他的职责,未必人人都能一下子清楚的表述出来。我觉得浏览器的首要功能就是把用户想要的各种形式WEB资源确认无误的显示出来,通常我们见到的资源格式主要是HTML,当然还包括PDF,图片,视频等,资源的定位通过URI来实现(Uniform resource Identifier)。


  W3C (World Wide Web Consortium) 组织制定了一套HTML/CSS规范,清楚的描述了浏览器如何解释HTML文件以及如何去显示它,W3C 也是WEB领域标准协议的制定组织。目前我们常见的HTML主要为  HTML4.01跟XHTML1.0,由1999年推出。 HTML5 规范现在仍处于发展阶段,虽然已接近尾声且各大主流浏览器都有所支持,但仍不是很完善。目前CSS也主要是CSS2.0(    随着时间的推移,硬件的发展,软件行业的进步,HTML5/CSS3黄金组合一定会流行起来的。同样,CSS版本3进行中。以前的浏览器市场是百花争艳,百家齐鸣,往往只支持大部分的规范内容同时还在发展各自的拓展,这对于WEB开发人员和最终用户来说带来了严重的兼容性问题。幸好,现如今大多数的浏览器渐渐的修正了这一错误行为。


  各大浏览器之间有很多共同点,其中公共的界面元素有:


地址栏
前进,后退按钮
书签设置
刷新,停止按钮
主页按钮
  从浏览器界面上来看,没有相关的规范竟然能做到如此的一致,确实很奇怪。这正是各大浏览器厂商多年来相互的模仿导致的。HTML5协议并未约束浏览器要有哪些界面元素,只是列出了一些常用的,比如地址栏,状态栏,工具栏。当然各浏览器都有一些各自的特性,如firefox的下载管理器。更多的介绍起参见以后的Browser User interface(浏览器界面元素)章节,此处不再累牍。
阅读(166) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~