干净的HTML页面

来源:互联网 发布:windows 10 iso下载 编辑:程序博客网 时间:2024/04/26 14:48

干净的HTML网页

名门户网站如新浪的HTML网页源码大多冗长复杂,给人以脏的感觉,这表现在:

  1. HTML编码未能很好地表达内容的逻辑结构,很多没有干净的缩进格式;
  2. HTML编码中嵌入大量Javascript及CSS代码,尽管网页已经引用了其他Javascript与CSS代码文件;
  3. 过于复杂的HTML属性与CSS类名。

此外,

  1. 网页的新闻条目等缺少规范的URL;
  2. 一些网页过度使用动态加载内容;
  3. 一些网页有令人厌烦的侵扰性的动画广告或弹出式广告。

在网页中大量嵌入Javascript代码是不对的,而应当引用Javascript代码文件。在HTML编码中直接嵌入大量Javascript会增加网页的大小,加重网络流量负担,而用最经济的方式呈现网页是优质服务的自然要求。Javascript有可能更改网页内容,因此破坏HTML编码对网页内容的清晰表达。很多时候Javascript并无必要,折叠在一起的显示内容需要用特别操作浏览,并不比展开后翻页浏览舒适方便。

HTML编码应当清晰地表达内容的逻辑结构,HTML5的<section>等新元素被用来改善网页的组织。网站应当即时升级,为兼容的浏览器提供更优质的编码。网站使用自定义的XML元素(如用<column>表示“栏目”)也是合理的选择,这个话题曾经可能比较热,2000年的时候曾有一个热词叫“semantic web”,即“用语义表达的网页”。较新的浏览器大都支持非标准的元素名称,并允许使用CSS来显示它们(如column { display: block }),由此不难看出这已是西方国家圈内的流行标准。XHTML将HTML元素归类成模块,对网页作严格的合法性验证,概念上允许添加新的模块,因此能够更严格地支持自定义的元素。干净的HTML编码也能帮助机器理解查找文档。中文素有简练的声誉,不难想象网页使用中文元素名称(如繁体字的<欄>),网站为兼容浏览器提供更漂亮干净的源码。

网站常用的javascript控件,如图片切换显示控件,其代码应当放入代码文件。控件元素的复杂属性与类名会破坏HTML编码的可读性。因此,网站应当赞助开源控件集(如jqueryUI),使控件的元素名称或其属性与类名标准化,同时又支持定制。我看到的开源Javascript源码质量很差,缺少清晰准确的概念与文档说明,这在社区内的开发中是绝对不能允许的;必须鼓励享受知识并提供公平的发挥才能的机会,而不是享受折磨性质的教育与考评。不仅如此,应当有舒适易用的设计工具,让普通商铺、社团或个人也能设计出自己的优质网页。在我看来,我们确实缺少通过提供优质服务让民众获得享受的商业竞争(毛泽东“为人民服务”),而它是市场经济的基础。

Javascript控件的定制常有复杂的参数,有时还需要定义附加的HTML编码及Javascript代码,通常(如在jQuery中)这用Javascript代码块来完成。CSS应能被扩展支持定制这些参数。例如,.imageview { imageview-button: left-right-arrow }用来设置一个非标准的imageview-button参数,它表示切换图片按钮的风格。目前的浏览器尚不支持用elem.style简单方便地获取某一元素的非标准参数值,获取从父元素继承的标准参数也不方便。不难想象,CSS还能用来作更为复杂的定制,如.imageview { onclick: function(){...} }为元素定义一个事件响应,又如.imageview { imageview-button-arrow: <img src=.../> <img src=.../> }定义左右按钮所用到的嵌入的HTML编码。由于能为CSS的类定义额外的属性与方法,它的确与其他编程语言中的类有相同概念。

建立起清晰的概念、完善与扩展HTML及浏览器理当是大学(社区自主)教育的一部分,CSS一词也与computer science的缩写CS相近。必须允许在社区内自发地开展这些教学与研究,并自发地将成果应用于社区内的商业等应用。与Unix的教学与研究相似,HTML与浏览器的教学也需要优质的概念清晰的开放源码的浏览器软件,并允许自己定制改进,当然知识应当有自己的圈子(应当使用学校或公司的开发网站而不是Github)。这件事刻不容缓,中国在这方面显然已经落后很多。操作系统与浏览器的自行研发是最自然的竞争,如Linux操作系统最早是Linus为了Unix教学目而写,最流行的浏览器之一Firefox、以及Linux常用的KDE桌面自带的浏览器Konqueror等都声明是由社区开发(Firefox的前身Netscape是商业产品,从这里不难看出西方社区开发跟进的速度)。社区必须自己抵制以监视控制为由对这些研究与应用的限制,它不仅限制知识积累,更严重的是它阻碍从技术中获得真实的享受,破坏自然的尊严与独立感,而放纵将技术用于偷窥操控等侵犯人权的黑客目的(电影《黑客帝国》),因而对社会的道德秩序有摧毁性的后果。

尽管HTML也用来支持高度动态的页面,但多数网页有文档的性质,因此浏览器在显示它们时应当遵循静态网页的基本规则(“Somehow rules do not apply to you.”,电影《黑客帝国》)。一些网页具有永久性,如某条新闻的内容,另一些会被更新,如门户网站的首页。HTML支持为网页指定缓存期,因此前者可被永久缓存,而后者则应按照网站更新安排设置。缓存期内重新阅读页面不需要再通过服务器,因此可以减少网络流量提高响应速度。HTML允许设置间隔时间刷新页面,因此刷新页面或局部(如显示在<iframe>内的股票指数)通常不必用javascript。顺便说一句,新浪等许多网页的链接都有target="_blank"属性,它用来指定在新窗口中打开链接,而这是不必要的,网页不应规定浏览方式,浏览器可作这一设置。此外,笔记本电脑的触摸板很容易定义单指或多指手势(gesture)来完成进退关等操作,操作系统或浏览器应当允许用户自行定制。永久性的网页应当有规范的URL以便引用,并且应当由网站自己而不是搜索引擎来来长期保存旧页面,以便用户能够回顾阅读。不过对用户而言,要想保存感兴趣的新闻最好的方法仍然是保存在本地。新闻视频可能是用户最想要保存的内容,它们应采用标准格式以便下载保存,并且不应附带广告(页面其他部分已有广告,视频广告过于占用时间),HTML5的新元素<video>就是特意(象是为了帮助中国人)添加的。不能用其他方式搜集用户操作数据,如浏览器在页面翻页后才加载该部分的图片、又如使用javascript报告用户翻页的位置或其他操作,这些是很不道德的行为,应禁止将javascript用于搜集用户隐私。以此为业等于自认是“鼠辈”(畅销书《谁动了我的奶酪》)。

网页源码应当干净清晰,脏是缺少素质的体现,相应的教育、科研与应用刻不容缓,这些必须由社区自发做起。

0 0
原创粉丝点击