- 浏览: 1461779 次
- 性别:
- 来自: 上海
最新评论
-
luhouxiang:
写的很不错,学习了
Extjs 模块化动态加载js实践 -
kingkongtown:
如果想改成淘宝后台那样,可以在编辑器批量上传图片呢?
kissy editor 阶段体会 -
317966578:
兄弟我最近也在整jquery和caja 开放一些接口。在git ...
caja 原理 : 前端 -
liuweihug:
Javascript引擎单线程机制及setTimeout执行原 ...
setTimeout ,xhr,event 线程问题 -
辽主临轩:
怎么能让浏览器不进入 文档模式的quirks模式,进入标准的
浏览器模式与文本模式
文章列表
aria practice
1. WAI 工作组制定 ARIA 规范,aria 标准被映射到本地原生的无障碍机制中。
1.1 支持浏览器:ie8,9 chrome firefox,读屏器:nvda
2.包括 角色 ( role ) 以及和角色相关联的状态 ( state) 和属性 ( property ).
2.1 角色包括:文档结构角色,路标角色以及组件角色
2.2 通过 tabindex 来控制焦点以及用户的键盘导航。
tabindex > 0 : 精确描述 tab 顺序
...
XMLHttpRequest 最常用到的功能就是文本操作以及 xml 处理,但其实 xhr 还可用来对二进制进行直接操作,例如比较强悍的 linux in js
.
1. responseText 方式读取
1.1 服务器干涉的全平台兼容
根据 xmlhttprequest w3 规范
,对于返回体的处理会根据 charset 来decode 字节得到对应字符串,如果我们想要得到返回的二进制字节,就需要服务器端设置contentType text/plain
;charset 为 iso8859-1
(一个字节表示一个字符)再使用 cha ...
以前都是很土得打 log ,发现一篇关于 java 调试器架构
,以及 eclipse 上使用
的文章,在常用的 intellij idea 以及 tomcat 上调试成功,结合调用堆栈希望可以加快 ``how tomcat works`` 读书进度。
1. tomcat 7.0.5 启动支持调试
新建文件 setenv.bat
SET CATALINA_OPTS=-server -Xdebug -Xnoagent
-Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,addre ...
socket 如今也出现在了 javascript 中,浏览器端有 html5 规范的 websocket
来完成客户端信息发送,服务器端则可以在 nodejs 平台上实现对应的服务器信息接收
(原生支持的异步io读取),而另一方面客户端 api 由 w3c 制定,具体的通信协议则由 IETF
指定,目前尚处于草稿阶段,最新的规范也已过期。
客户端发送:
目前只有 chrome 支持 websocket ,通过
var webSocket = new WebSocket('ws://xx.com:8081/');
来创建客户端 socket 对象 ...
narcissus
是一个由 javascript 自身实现的 javascript 解释器,最终效果和 spidermonkey
引擎保持一致,足以证明 javascript 本身就是一个完备的元循环
语言。
运行@shell
narcissus 可以跑在 spidermonkey shell 以及浏览器 spidermonkey 引擎环境下,经过修改也可运行于最新的 firefox 4.0,其他浏览器待测,首先说下如何在 mac 下的 spidermonkey shell 中运行:
安装 spidermonkey shell
1.安装 xcode
...
nodejs 可以在服务器端执行 javascript 脚本,并提供了一些核心模块
可以进行读写,大大扩充了 javascript 的作用范围,并且经过简单的修改,原先的客户端脚本甚至可以直接运行在服务器端,即同样的代码可以自由选择在服务器端或者客户端渲染。
客户端脚本转化服务器端脚本
windows 下安装 nodejs
1.下载整合版本
,推荐0.40
2.解压缩至 x:/node ,并设置环境变量 PATH 指向 x:/node/bin
3.运行 x:/node/bin/shell.cmd ,执行 node npm inst ...
From : Computer System ( A Programmer's Perspective)
整数分为正整数,0,负整数, 当今负整数使用补码表示,方便机器运算。
正整数
二进制表示为
0Xw-1Xw-2..X0 =Xw-1* 2^(w-1) + Xw-2 * 2^(w-2)....+X0*1
正整数进行扩展时,增加的位 ...
采样自: yui
, closure
, kissy editor
,一般 button 分为四种 : button , toogle button , menu button , split button 。
展现层:
button
yui
google
kissy editor
toogle button
yui
google
借鉴自强大的 google button
.
mvc 分解:
总体架构:
Model and control :
不涉及 ui 渲染,用来表示按钮的实质,按钮具备以下数据属性:
content : 按钮显示值
value : 按钮的内在存储值
tooltip : 按钮的鼠标掠过(得到焦点)提示
described-by
: wai-aria 可用性需要,按钮的具体描述
disabled : 按钮是否禁用
按钮的 control 层会触发一些事件,常用的就是 click ...
http 协议
根据 RFC2616
,一个 http 请求/响应可以分为三段
状态行
头区域
体区域
其中状态行和头区域只能包含 ascii(iso8859-1
) 编码的字符,而 cookie
恰恰属于头区域,那么要想使得 cookie 承载中文字符,则要进行编码,使得编码后的字符在 ascii 字符范围内。
服务器编码:
一般来说有三种
Base64
服务器端通过
new BASE64Encoder().encode(x.getBytes("utf-8"))
来编码。
U ...
按键 tab 在 可访问性
中具有重要作用,会使得下一个可聚焦元素
获得焦点,若将要获得焦点的元素在当前屏幕之外,还会引起浏览器滚屏(即触发 scroll
事件),但是对于是先触发将要获得焦点元素的 focus
事件,还是先触发 scroll ,ie 与 标准浏览器有分歧:
场景:
<br><br><br><br><br><br><br><br><br><br><br><br><br><br&g ...
模拟系统内置下拉框,使得在所有的系统以及浏览器中具有同样的表现,目标是功能分解,利用 mixin
分离实现。
下拉框功能点分析:
1.可以存储值,是一个存储数据的容器,相当于 readonly 的 input。
2.有下拉箭头,点击下拉箭头可以弹出选项列表。(实际上点击存储容器也有同样的表现)。
3.选项列表本质是一个 overlay,选项列表弹出后会遮盖存储容器下面的内容。
4.选项列表浮层具有默认的对齐属性,即选项列表的左上角与存储容器的左下角对齐。
5.最重要的:下拉框的内容(选项列表)是一个列表,可以通过鼠标或键盘选中特定列表 ...
yiminghe at gmail.com
Because there rarely exists articles on this topic, I will write in English, this article can also be found at Google Doc
. Forgive my chinglish and syntactic error if you are interested.
Pre ...
理论可见上文模块加载方案
,这次探讨下如何设计 api 使用 js 模拟其他语言常见的模块
与包
的概念:
模块化实践@google doc
1.添加模块:
通过 S.add 向运行环境添加模块,模块可以添加一个简单对象,或者一个加载函数。
简单对象:
S.add("module1",{
name:"value"
});
加载函数:
S.add("module2",function(S){
return somet ...
关于综述部分可见:第五届 d2 相关介绍
,需要知道的是模块加载已经有语言级的提案
,正是由于它是语言级,估计很长时间内都不会实现。而由民间形成的事实规范 commonJS
则是非常可行,恰当的比喻是 ecma4
语言级 ...