预留退路
最近两周一直在学 Javascript。尽管没有任何的编程经验,也还是逼着自己一点一点啃完了语法。到目前为止,基本上还算是没有遇到什么太大的难题。从昨天起去 mootools 下载了一些脚本,随后便开始了自己的第一个 js 项目——搭建一个基于 javascript 的在线相册。
因为主要使用的是现成封装好的 lightbox 和 mootools 的 Fx.Element,因此在编写脚本上并没有花太大功夫,主要都是调整和熟悉别人对于 javascript 的使用——看着人家的代码,自惭形秽啊,怎么自己弄起来七死八活的东东别人用起来就那么行云流水呢?当年偷师别人的CSS的时候都没有过这样的感觉。一切在尚算顺利的状况下一瘸一拐地前进着,直到今天上午,直到刚才,直到我突发奇想关闭了 Fx 的 javascript 支持。
没了浏览器对于 javascripe 的支持,那个刚才还华丽丽的 gallery 变成了只有索引图片的一潭死水,任我把鼠标左键点得如小鸡啄米依然毫无反应。我愣住,随后想起去掉 CSS 之后自己写的页面,叹口气,关掉了那个死水 gallery 的页面。
最终,我还是忘记了使用 javascript 应该记住的第一要义:要预留退路,要在浏览器禁用 javascript 的时候依然能访问你想呈现的东西。
对我来说,挑战 javascript 其实应该属于不自量力的一种表现形式——如我这般凌乱的逻辑思维能力,看了半本黑格尔的《小逻辑》依然没用;再加上一穷二白的写代码经验,根本就是开自己的玩笑嘛。但是……还是下决心要挑战一下才肯罢休,毕竟不能一直都只是纠缠在如何将图片或者PSD变成 XHTML+CSS 上面。在看过了《DOM Scripting》之后,我终于鼓足了勇气奔着 javascript 而去,只是在我自以为领悟透了《Unix编程艺术》与《DOM Scripting》的要义之后还是犯了最要命的错误。
尽管 web 2.0 和 AJAX 一手把 javascript 的位置推到了它诞生以来的最高点,但是那段最臭名昭彰时代的阴影还是一直盘旋在它头上无法挥去。浏览器之间的兼容问题目前已经得到了很大的好转,但是随之而来的就是滥用的问题。使用 javascript 生成内容一直是 W3C 和各个web标准组织不推荐的,但是目前用 javascript 生成内容的页面依然比比皆是——如此一来的后果就是一旦浏览器禁用了 javascript 访问者就什么东西都看不到,只能冲着呆若木鸡的页面发愣。可能会有人嘲笑:这完全是杞人忧天啊,都 web 2.0 的时代了,难道还会有人禁用 javacript 不成?问题就是,的确会有一些人禁用浏览器的 javascript,有一些拦截广告的浏览器插件也是冲着 javascript 下手的,难道你一句“这些人毕竟是少数,我们的目标客户也不是这类人”就可以了么?
因此,最好的解决方法还是将所有的东西该呈现的都呈现出来,只是用 javascript 决定哪些该藏,那些该露,或者添加一些动画效果增强交互性;或者一些不重要的、仅仅是一些提示功能的内容——比如相册中点击某图片之后出现的 loading 动画——可以由 javascript 生成。永远都要预留退路,在退路的基础上再发挥,如此才可以保证将 javascript 很好得利用又不会发展为滥用。
或许我的 javascript 之路还有很长很长很长……一段要走。
现在要面临的问题就是,如何给我的 gallery 预留退路呢?以我现在的水平,要自己去重写出一个预留了退路的脚本根本就是天方夜谭……算了,还是踏踏实实,重新去看语法和别人的代码吧……

你已经很厉害了。我画了个页面,但是不会做,在Nicky的主题上一点一点修改。最后还是稀里糊涂,求Nicky帮了下忙。哈,对于你们这些会做Wordpress Themes的很景仰。
嗯…其实懂点 html、css 外加点 php 做或者修改 wordpress 主题很容易的
^^ 你有不明白的不嫌弃的话也可以问我啊~