低调,低调──Unobtrusive Javascript

30 十一月, 2006 (00:47) | Web Design, javascript

“低调,低调”是《武林外传》里面的李大嘴的名言,把“Unobtrusive”这个词翻译成低调,有点草根味道吧,嘿嘿。

今天从Realazy大侠的一篇blog上看到“Unobtrusive Javascript”这个概念,上google搜了一把,查到这个非常好的讲解“低调javascript”的网页,粗略看过之后,感觉受益不浅。

Javascript绝对是网站开发必不可少的利器,尤其是在ajax大行其道的今天,但是由于很多原因(比方说,安全原因,浏览器对 javascript的支持原因,对我自己而言更多的是缺乏经验的原因,等等),有时候反而会影响用户的体验(accessbility和 usibility),甚至使影响开发和重构,所以在使用javascript技术的时候要千万小心。

以我的理解,低调,就意味着不在非必要的时候使用,好钢用在刀刃上,用正确的技术解决正确的问题,一般可以用xhtml和css解决的问题,没有必要用javascript去做。

Unobtrustive Javascript非常明显的一个特征就是,即使你的Javascript代码失效了(比如用户禁用了javascript),而你的网站仍然是可以访问的,最简单的例子就是我们常在前台对用户输入的信息进行检查,即使这些检查非常严格(或者说精确),我们依然要在后台进行检测。前台的检测是为了减少和后台交互的时间,但却不是可以完全依赖的(not rely on)。

在http://www.onlinetools.org/articles/unobtrusivejavascript/ 的网站上还介绍了不少有效的方法,比方说:

除非非常特殊的情况,否则不要将javascript代码嵌到html代码中,这点的好处应该非常明显。

Javascript是一种“可无”但绝不是“可有可无”的技术,有效地使用javascrit可以增强用户体验,但是滥用会适得其反(这句是对所有技术都有用的废话)。

尽量使用浏览器都支持的w3c标准方法(这句也是废话)。IE7的出世意味着标准之战将会是一场持久战,收集一些必要的hack技术还是很有必要的:(

Using JavaScript for good, not evil这篇文章还举了个例子,如果点击一个link需要弹出一个窗口,怎么样才是Unobtrusive的呢?
答案是给这个link定义一个class,在js里面用dom去找到这个link,添加onclick方法,而这个方法在页面加载的时候被调用。如果你有1000个link分布在500个页面里面,需要相同或者类似的方法,这样做的效果是不是很明显?

Write a comment





提示:如果你刚刚提交过评论,但是还没有被显示出来,请点击这里刷新一下: 刷新评论