DHTML编写经得起考验的可移植代码

2016-01-29 12:04 6 1 收藏

DHTML编写经得起考验的可移植代码,DHTML编写经得起考验的可移植代码

【 tulaoshi.com - Html 】

动态HTML(DHTML)技术——实际上是多项技术的组合,包括CSS、DOM和JavaScript——为Web设计者提供了多种选择,能让他们向其网页中添加动态菜单和各种导航的小玩意。但是,这些技术也带来臃肿的代码,导致浏览器互不兼容的问题和向老平台移植性的丢失。简而言之,用于HTML代码编写的动态选择越多,出现错误代码的可能性也就越大。但是只要遵照一些简单的编写原则,你可以保证自己代码的健壮性和高度的可移植性,而不用放弃对DHTML创新技术的巨大依赖。


第一:了解你的浏览器


浏览器互不不兼容是一个困扰Web开发人员多年的问题。但是在很多方面,随着浏览器和标示语言两者复杂性的增加,人们对其兼容性的关注有所减少。然而,有些结构上的冲突的确还在,尤其在你必须考虑自己页面的可访问性的时候。

例如,不是能够在Windows平台上运行的所有Netscape Navigator和Internet Explorer特性都能运行在Mac和UNIX系统上。而且不是所有能够运行在Internet Explorer 4.0上的HTML 4.0代码都可以运行在Navigator 4.0。(Navigator 4.0不支持HTML 4.0所有弹出文本的特性。)而且,<BUTTON标签对Navigator也不友好,诸如此类等等。这个互不兼容的单子很长,即便到现在也是如此。所以除了浏览器探测技术,你现在必须还要能够使用HTML、XHTML和CSS确认等。


第二:编写允许功能缩减的代码

跨平台所导致的错误是对健壮代码的一个重大威胁,但是向后兼容会更严重。尽管软件巨人们都在花大力气推广新版本,但是Internet Explorer和Netscape Navigator两者4.0以前的版本仍在大行其道,所以你的代码应该要能在其上运行——即使你使用的是DHTML的代码。

缩减功能的概念在软件工程中十分常见,它是指对逐渐失效而非突发性失效有所准备。其主旨就是设计一种机制,让相当一部分功能能在不同环境导致性能降低的情况下获得保留。这个概念还被相当多地用于软件,谨慎的开发人员会预计有缺陷的运行条件,并按照部分功能在碰到错误的时候得到保护的方式编写应用程序代码。

在编写Web应用程序代码的时候这一点尤其重要。想一想吧:任何对Internet世界开放的Web页面都需要运行在任何版本、任何数量的浏览器上。由定义可知,没有什么HTML代码能够运行在所有的浏览器上;错误是不可避免的。Java在低于版本3的浏览器上运行时会出问题。对象模型特性在跨当前不同浏览器时会不稳定。有些版本的Navigator只有使用插件才能正常处理ActiveX。当前不同的浏览器对层叠样式表(CSS)的支持也不尽相同等等。这个问题清单也很长。

有合格的设计者不仅应该为每个Web应用程序创建强健的错误处理机制,这要尽量多地考虑环境变化和潜在不兼容性的问题,还应该让应用程序的代码在碰到问题时能够保证更多的功能。

第三:尽可能地让代码形象化

冗余代码是编写易维护系统的最大障碍。创建函数或者子程序是程序员避免这一问题的自然反应,DHTML允许他们在这一点上的变通。

使用脚本和函数能够让动态Web页面程序员把相同的代码捆绑进易维护的程序组。这样,以后维护代码的程序员就能够很容易地读取代码和明确程序的功能,但是捆绑代码还有一个更大的目的:传统的HTML只允许一个函数被分配给一个对象,而嵌入式脚本编写和函数的动态应用能够提供一段专用的代码供多个对象的多个事件使用。

第四:让方法、类和继承为你服务

动态HTML对象模型是Web设计者的福音,它能对事件处理使用面向对象的方法,这个方法会用到OOP的所有关键特性:类、方法和继承的使用。

动态HTML对象模型让为对象分配属性成为可能,也让运用完整的连续性对点击事件设置可能的回应成为可能,同时能在你的路径里保持干净的易于维护的代码。大多数浏览的大多数版本都支持面向对象的特性,这让它们能够轻易地实现跨平台和跨版本。

DHTML功能强大的工具

尽管DHTML能够提供强大的功能,但是代码冗余、不同浏览器和浏览器不同版本之间的兼容性、放置不当的代码,以及难以维护的代码都太容易出现了。在有了正确浏览器的正确版本以后,你可以留下一个画面非常优美和功能极其强大的页面——但是一个不能容错以及千百万用户无法使用的页面是没有什么用的。以上所讲的原则能够有助于你打造出强大的经得起考验的代码。

来源:http://www.tulaoshi.com/n/20160129/1484450.html

延伸阅读
标签: Web开发
如何编写CSS代码才能更有效率?这是许多网页制作者与开发者都关心的问题。大概没有什么魔法,可以保证一下就把你的样式表缩小到百分之多少,但合理的 CSS 编码与组织技巧,的确能够帮助你的更有效率地写出更清晰高效的代码,自然,样式表大小的缩减还能减少下载的时间。 一、排版: 1.关键词和操作符之间加适当的空格。 2....
标签: Web开发
如何编写CSS代码才能更有效率?这是许多网页制作者与开发者都关心的问题。大概没有什么魔法,可以保证一下就把你的样式表缩小到百分之多少,但合理的 CSS 编码与组织技巧,的确能够帮助你的更有效率地写出更清晰高效的代码,自然,样式表大小的缩减还能减少下载的时间。  一、排版: 1.关键词和操作符之间加适当的空格。 ...
标签: Web开发
命名一直是个让我头痛的问题,特别是那些看上去差不多的模块,所以就得想办法啦,我总结了下面的方法,虽然还在试验中。希望对大家有帮助。欢迎大家提出改进的意见。具体如下: 要注意的内容: 一,命名所选用的单词应选择不过于具体表示某一状态(如颜色、字号大小等)的单词,以避免当状态改变时名称失去意义。 二,样式类名由以字母开头的...
什么是一个高效的软件?一个高效的软件不仅应该比实现同样功能的软件运行得更快,还应该消耗更少的系统资源。这篇文章汇集了作者在使用VB进行软件开发时积累下来的一些经验,通过一些简单的例子来向你展示如何写出高效的VB代码。其中包含了一些可能对VB程序员非常有帮助的技术。在开始之前,先让我陈清几个概念。 让代码一次成型:在我接触...
  一.前言 Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的。Windows平台根本无法直接利用这些源代码资源。如果想要使用完整的代码,就要做移植工作。因为C/C++ Library的不同和其他的一些原因,移植C/C++代码是一项困难的工作。本文将以一个实际的例子(Tar)来说明如何把Linux代码移植到Windo...

经验教程

888

收藏

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