Dojo学习笔记(8. dojo.event & dojo.event.topic &
dojo.event.browser)
模块:dojo.event
终于进入有名的dojo事件处理系统的学习了,学习前建议读者先去补习一下AOP的相关知识
dojo.event.connect
绑定指定的方法到指定的对象的方法上
Usage Example:
简单绑定1
function doOnClick1()
{
alert('Clicked!');
}
dojo.event.connect(dojo.byId('inputTest'),'onclick','doOnClick1');
简单绑定2
obj = { doOnClick2: function(){ alert('Clicked!');}}
dojo.event.connect(dojo.byId('inputTest'),'onclick',obj,'doOnClick2');
如果存在需要进行多个事件的绑定的时候,你就会看到dojo的方便之处了
obj2 = { doOnClick2: function(){alert('Clicked!');}}
dojo.event.connect(dojo.byId('inputTest'),'onclick',obj,'doOnClick2');
dojo.event.connect(dojo.byId('inputTest'),'onclick',obj2,'doOnClick2');
connect可以对任何对象的方法进行绑定,而不是只能针对DOM对象
dojo.event.connect(obj,'doOnclick2','doOnCli
////////////////////////////////////////////////////////////////////////////////////////////
Dojo学习笔记(6. dojo.io.IO & dojo.io.BrowserIO)
模块:dojo.io.IO
dojo.io.bind
处理请求取回需要的数据并处理
这个函数是AJAX中最为重要和有用的函数,dojo.io.bind这个类是用来处理客户端与服务器间通讯的,
需要通讯的参数由对象dojo.io.Request所定义,具体通讯的方法则由另外一个对象Transport所提供。
因此,我们如果需要与服务器通讯,则应该定义一个Request对象,其中包括服务器地址及回调函数,
例子中Requset都是以匿名对象方式定义的
虽然我们可以定义一个自己的Transport,但是显然不如直接利用现成的Transport方便。
Dojo里提供了一个同时兼容IE和Firefox的dojo.io.XMLHTTPTransport,但是这个对象位于
dojo.io.BrowserIO,因此,一般require dojo.io.IO时,还应该require
dojo.io.BrowserIO
Usage Example:
dojo.io.bind({
url: 'http://localhost/test.html', //要请求的页面地址
mimetype: 'text/
Dojo学习笔记(1. 模块与包)
Intro:
Dojo是一个非常强大的面向对象的JavaScript的工具箱, 建议读者能够去补充一下JavaScript下如何
使用OO进行编程的, 这对于你以后阅读Dojo Source有很大的用处.
请大家下载dojo 0.3.1, 以下的说明均针对此版本
翻译自http://manual.dojotoolkit.org/WikiHome/DojoDotBook/BookUsingDojo
Getting Started
1: 把Dojo加入到我们的Web程序中
1. 标志
<script type='text/javascript'>
djConfig = { isDebug: false };
</script>
djConfig是Dojo里的一个全局对象, 其作用就是为Dojo提供各种选项, isDebug是最常用的属性之一,
设置为True以便能够在页面上直接看到调试输出, 当然其中还有些属性与调试有关, 这里就不罗索了
2. 引用 dojo 的启动代码
<script type='text/javascript' src='/yourpath/dojo.js'
/>
这样你就引用了dojo的代码, 并可以直接使用其中部分常用的对象, 下载下来的dojo.js是压缩
(remove comments and space)后的代码, 要阅读的话,建议阅读dojo.js.uncompressed.js,
dojo.js
大概有127K, 而未
Sohu率先开放了博客的API:widget,这样大家就可以把自己网站有趣的东西通过这个API来让sohu博客当作小插件一样的引用。
这是我为我们猪八戒网开发的“推荐任务”:
访问地址:http://ow.blog.sohu.com/widget/375
以下是SOHU关于widget的一些介绍:
搜狐博客开放模块(Sohu Open Widget,简称SOW)是一个由搜狐公司推出、基于UWA(Universal Widget
API)规范、应用于多个平台的Widget标准。
SOW简介
Sohu Open Widget是一个Widget标准规范,可以简单的描述为:
- 基于一个开放的Widget标准规范——UWA规范
- 任何人都可以以此开发自己的Widget,并将其分享给广大网友,添加到搜狐博客中使用
SOW的特点:
- 要求简单:只需要一些基本的Html、Javascript和Css知识
- 开发快速:SOW以及UWA提供了很多支持性的API,便于快速开发
- 功能丰富:通过SOW,开发者使用第三方提供的丰富功能和数据,来构建相应的Widget
- 用途广泛
其实在很早前就听说了IIS可以象APACHE一样的对一个动态地址进行重新,做成对搜索引擎非常友好的“静态”,其实就是人们长说的伪静态。
我使用是一个免费的IIS_ISAPI_ReWrite,他有收费的版本,不知道增强了什么功能,我觉得免费版本对个人而言应该足够了,不过执行效率还有待考察。
这是做了部分URL重新的站:http://www.51callcenter.com/
我的写法:
RewriteRule ^(.*)/newsinfo\/([0-9]+)\/([0-9]+).html
$1/Contents\/\?fid=$2&webid=$3 [L]
这个写法能成功的做成伪静态,而不是URL的跳转,我尝试过很多的方式,就只有这种是成功的,不知道谁还研究过,可以把写法帖上来,让老弟也学习一下。
RewriteRule ^(.*)/index.html $1/index.asp
RewriteRule ^(.*)/news_([0-9]+)_([0-9]+).html
$1/Contents\?fid=$2&webid=$3 [L]
这个写法只能做到跳转,而不是伪静态,我也不知道原因。
IIS_ISAPI_ReWrite
官方下载地址:http://www.isapirewrite.com/download