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中不会出现
onload
、onclick
或者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,页面仍然能够正常工作
不要使用
onclick
或javascript:void(0)
将JavaScript放在外部.js文件中,或者
<script>
标签中
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
玩转MySQL中的外键约束之PHP篇
CSS背景 background 图像属性解读
给验证码增加干扰的杂点
“验证码”等于“流氓软件”
![](https://img.aspxhome.com/file/UploadPic/200710/19/20071019183258478s.gif)
如何在Mac OS X中安装MySQL
asp 得到动态数组中元素的个数
网站tab导航的设计
![](https://img.aspxhome.com/file/UploadPic/200811/10/tab1-53s.jpg)
你是真正的用户体验设计者吗? Ⅰ
在https页面中使用iframe出现安全警告的解决方法
jQuery初学:find()方法及children方法的区别分析
![](https://img.aspxhome.com/file/UploadPic/20112/5/20112511038177s.png)
JavaScript游戏开发之键盘控制层的移动
![](https://img.aspxhome.com/file/UploadPic/20089/13/2008913193339114s.jpg)
String 的扩展方法
省市级联菜单的可用性
布局篇(1)—If you love css …
![](https://img.aspxhome.com/file/UploadPic/20084/16/2008416141658686s.jpg)
随感:交互设计两三事
![](https://img.aspxhome.com/file/UploadPic/20095/18/e59bbe-42s.jpg)
MySQL数据库的双向加密方式
FCKeditor技巧之在按钮旁边加文字
![](https://img.aspxhome.com/file/UploadPic/200710/10/20071010132030615s.png)