Unobtrusive的Web开发(2)

作者:March 来源:三月的蚁穴 时间:2007-11-23 13:13:00 

为什么要Unobtrusive

Unobtrusive开发的优势

  • 代码更佳简洁,并且易于维护

    • 易读和易懂意味着更容易修改

    • 修改全部的样式仅仅需要修改CSS文件

    • JavaScript能够很容易的修改

    • HTML的修改变得更加保险

  • 能够提高可访问性(accessibility)

    • 可访问性意味着所有人都可以访问你的内容

    • 你不能揣测所有人

    • 但你可以肯定的是所有浏览器都能够处理HTML

    • 大约10%的访问者是不能够使用JavaScript功能(www.w3schools.com/browsers/browsers_stats.asp

    • 有些人使用的是屏幕阅读器,有些人无法使用鼠标

  • 有利于搜索引擎优化

    • 搜索爬虫无法解释CSS和JavaScript

    • 搜索爬虫只会顺着<a>继续爬行

    • JavaScript和Flash中的内容无法被搜索到

    • 更多的内容,更结构化的HTML,使得页面相关性更高

不过有时,不得不使用JavaScript

  • 当然,离了JavaScript,JavaScript游戏肯定无法运行

  • 很多Web统计服务的脚本依赖于JavaScript

  • Google Ads需要JavaScript

  • 对于Unobtrusive,只要尽量做到就好了

如何进行Unobtrusive的开发

不要去问别人,直接去做

从没有JavaScript开始入手

  • 使用带有链接和表单的纯HTML

  • 使用CSS来实现hover和滚动效果

  • 使用HTTP的功能(比如用”Location”头来转向)

 

重视链接

  • 页面上的所有链接,离了JavaScript都应该能够正常工作

  • 这也意味着不使用javascript:伪协议

  • 甚至不要使用<a href="#">

  • 如果有链接一定要使用JavaScript,那么就用JavaScript来把链接添加到页面中

为CSS和JavaScript提供hook

  • 给一个页面中唯一的元素加上ID

  • 给重复使用的元素加上class

  • 使用列表等其他有语义的结构

使用可靠的技术

  • 从纯HTML和CSS开始

  • 动态的为链接和表单添加高级交互功能

  • 同时通过HTML和JSON/XML两种方式提供内容

  • 为有或没有JavaScript的情况提供额外的CSS

  • 为有JavaScript和无JavaScript的用户提供不同的应用

我的看法

Unobtrusive应该是对Web Standards的进一步深化,也可以理解为Web Standards的一个方面。但是,这种开发方式目前仍然是一种比较理想化的方式,也许在个人,或者小团队的开发中可以贯彻的很好。但是到了大型项目中,严格的执行未必是一种高效的方式。尽管代码的易维护性显而易见,但是大部分项目的前端代码不一定有维护(或者大量维护)的需求,而项目要求的更多是能够在最短时间内完成。

然而,Unobtrusive绝对是一个具有指导性的Web前端开发方式,实现得越接近,无论是对用户,还是对开发者,甚至对计算机,都会更有好处。

标签:Unobtrusive,web,JavaScript
0
投稿

猜你喜欢

  • 不支持RSS,如何跟踪网站的内容更新?

    2008-09-08 12:38:00
  • 页面编码的doctype声明

    2007-05-31 09:21:00
  • Asp定时执行操作 Asp定时读取数据库(网页定时操作详解)

    2011-03-17 11:04:00
  • 主页移动背景代码

    2009-11-16 17:54:00
  • IE中选择符的4095限制

    2009-10-09 13:25:00
  • 关于交互设计在QQ秀赠送流程中的优化

    2009-06-11 12:30:00
  • 如何判断URL格式是否符合规范?

    2010-01-12 20:14:00
  • 50个常用sql语句 网上流行的学生选课表的例子

    2012-07-11 16:02:01
  • WEB2.0网页制作标准教程(5)head区的其他设置

    2007-11-13 13:28:00
  • 日式酒店电梯面板设计

    2008-06-08 13:23:00
  • 我的ImageMagick使用心得

    2008-10-21 11:05:00
  • 8个asp生成随机字符的函数

    2007-08-04 10:17:00
  • 简化ADO数据库操作的控件(带分页功能)

    2008-05-20 13:15:00
  • 巧妙规划使用Oracle数据空间

    2009-03-20 11:51:00
  • IE里模拟DOMContentLoaded事件

    2008-08-05 17:12:00
  • WEB2.0网页制作标准教程(7)CSS学习入门

    2007-12-13 13:12:00
  • 成功实现ajax,xmlhttp跨域访问(php,asp,jsp)

    2008-02-13 18:40:00
  • 一列保存多个ID(将多个用逗号隔开的ID转换成用逗号隔开的名称)

    2012-08-21 10:37:37
  • PHP设计模式之迭代器模式浅析

    2023-05-25 11:26:26
  • 轻松在线制作各种Logo标志

    2008-05-26 12:54:00
  • asp之家 网络编程 m.aspxhome.com