Unobtrusive的Web开发

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

原文:Unobtrusive Ajax

今天才看见的一个Presentation,是Jesse Skinner在06年10月发表的。虽然题目是关于Ajax的,但实际上前面很大篇幅再讲什么是Unobtrusive的Web开发,而且将得也很有意思。下面把其中的要点摘录出来翻译,分享一下。

对Web前端进行分层

  • Web前端的分层:

    • 核心思想:结构(HTML)、表现(CSS)和行为 (JavaScript)

    • 物理上:.html、.css和.js文件

    • 概念上:各层之间,相互独立,互不影响

  • 借用MVC的思想:

    • Model - HTML

    • View - CSS

    • Controller - JavaScript

物理上的分层

  • CSS只出现在.css文件中,JavaScript只出现在.js文件中

  • 在HTML中不会出现onloadonclick或者style属性

  • 不使用不赞成使用的HTML,比如font标签和align属性

概念上的分层

  • 内容和表单在纯HTML中(没有CSS和JavaScript)也能够正常显示和使用

  • 表单和链接在没有JavaScript时候也能正常工作

  • 只在CSS中定义表现,而不是在HTML或JavaScript中

  • 任何人可以通过任何客户端访问内容,即便是没有CSS、JavaScript,甚至没有鼠标

两种分层有何不同

  • 物理分层主要使开发者受益

  • 概念分层主要让使用者受益

Unobtrusive的前端

Unobtrusive的HTML

  • 使用更多的HTML标签

  • 只将<table>用于表格式的数据

  • 避免使用无意义的<div><span>

Unobtrusive的CSS

  • All CSS is unobtrusive

  • 尽量使用可重用的class

  • 将CSS放在外部.css文件中,或者<style>标签中

  • 最好使用<h1>,而不是<div class="header">

Unobtrusive的Flash对象

  • 用JavaScript将HTML替换成Flash

  • Bobby van der Sluis的脚本(bobbyvandersluis.com

  • 将Flash的内容同样放在HTML中

  • 如果浏览器支持Flash,用户将会欣赏性感的Flash版本

  • 不要在HTML中加入混乱的Flash代码

Unobtrusive的JavaScript

  • 从纯HTML入手

  • JavaScript只用来为HTML添彩

  • 不要摆架子,测试每一个细节

  • 离了JavaScript,页面仍然能够正常工作

  • 不要使用onclickjavascript:void(0)

  • 将JavaScript放在外部.js文件中,或者<script>标签中

标签:Unobtrusive,web,JavaScript
0
投稿

猜你喜欢

  • 玩转MySQL中的外键约束之PHP篇

    2010-03-18 10:20:00
  • CSS背景 background 图像属性解读

    2008-08-01 18:19:00
  • 给验证码增加干扰的杂点

    2008-05-16 11:34:00
  • “验证码”等于“流氓软件”

    2007-10-19 18:29:00
  • 如何在Mac OS X中安装MySQL

    2009-09-01 10:16:00
  • asp 得到动态数组中元素的个数

    2011-03-30 10:55:00
  • 网站tab导航的设计

    2008-11-10 12:36:00
  • 你是真正的用户体验设计者吗? Ⅰ

    2008-03-20 13:42:00
  • 在https页面中使用iframe出现安全警告的解决方法

    2009-03-04 12:01:00
  • jQuery初学:find()方法及children方法的区别分析

    2011-02-05 10:58:00
  • JavaScript游戏开发之键盘控制层的移动

    2008-09-13 19:29:00
  • String 的扩展方法

    2008-05-12 22:36:00
  • 省市级联菜单的可用性

    2009-02-24 16:32:00
  • 布局篇(1)—If you love css …

    2008-04-16 14:14:00
  • 随感:交互设计两三事

    2009-05-18 13:54:00
  • MySQL数据库的双向加密方式

    2009-11-18 11:07:00
  • FCKeditor技巧之在按钮旁边加文字

    2007-10-10 13:17:00
  • 两种与SQL Server数据库交换数据的方法

    2008-12-10 15:39:00
  • Oracle Portal及其门户网站开发概述

    2010-07-20 13:30:00
  • SQLserver中字符串查找功能patindex和charindex的区别

    2012-06-06 20:20:42
  • asp之家 网络编程 m.aspxhome.com