Posted in 2010/05/31 ¬ 19:05h.yongbin
URL中,什么字符需要编码?
关于URL编码,RFC1738做了如下的规定:
“Only alphanumerics [0-9a-zA-Z], the special characters “$-_.+!*’(),” [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL.”
RFC继而说明了保留字、特殊符号、不安全字符的含义——也就是说,下面三类字符可以不经过编码,直接出现在URL上:
[0-9a-zA-Z]
特殊字符:$-_.+!*’(),
保留字符:&/:;=?@
为了让我们思路更清晰,我们再总结一下,哪些字符必须要编码:
ASCII表中没有对应可显示字符的,例如汉字
不安全字符,包括:#”%<>[]{}|\^`~
不当做保留字符来使用的保留字符,即&/:;=?@
Read the rest of this entry »
Posted in 2010/04/20 ¬ 19:31h.yongbin
分享一下HTML5的东西。
HTML5 历史、现状及未来
View more presentations from Yongbin Tian.
Read the rest of this entry »
Posted in 2010/01/24 ¬ 16:54h.yongbin
这次因为一个项目的原因,又重读了《Even Faster Web Sites》书里的第四章:Loading scripts without blocking,并且在Cuzillion里做了大量测试,又发现了很多有意思的细节。发现自己读书太糙,自责一下。结合实际工作,加上自己的理解,再把这一章的实用内容总结一下。
要解决的问题
页面的script标签引入外部js文件时,会阻塞后续外部资源的下载和加载,包括图片、CSS文件、iframe等等。
1. Script DOM Element比较常用
“Script DOM Element”方法是常见的方法,也就是createElement(“script”)的方法下载js文件,以此并行加载后续资源。这其实是很棒的一个方法,因为不需要担心跨域,而且我们在中文应用中,不用担心编码的问题(可以为<script>指定编码)。但这里需要注意的是,非IE浏览器下,这种方法会阻止window.onload事件,因此如果你的js文件很大,可能会带来用户体验不好。IE浏览器对这种贴script标签的行为是“无动于衷”的,不会在状态栏、光标和进度圈上做任何指示。看来IE也不是一无是处嘛,哈哈!测试地址。
2. 个人不提倡使用XHR Eval
XHR Eval方法我不提倡使用,首先是中文编码上会遇到麻烦,其次跨域问题。另外就是下面这句:
Read the rest of this entry »
Posted in 2009/08/04 ¬ 00:26h.yongbin
如果您还没有阅读《JavaScript调试技巧之:快速定位》,建议先看看那篇。说不定,用快速定位就能解决问题了,呵呵。这次我会总结记录一下断点调试的笔记,希望也对大家有用,欢迎补充交流!
首先,在各个浏览器中,断点调试支持的最好的当然是Firefox,Firefox不仅可以使用Firebug调试页面js脚本,还可以用高级调试工具例如JavaScript Debugger (Venkman) 来调试Firefox扩展里的js。除此之外,Firefox还支持一些更为高级的断点调试、变量监视功能。
其他浏览器里,Opera、Chrome和Safari的调试功能也比较好用。Opera的DragonFly速度相对比较快,界面清爽,功能强大,但不如Safari等友好。相比来说,IE8的程序员工具简直没法用。
这次时间有限,先来总结一下Firefox下的调试技巧。
Read the rest of this entry »
Posted in 2009/07/09 ¬ 22:59h.yongbin
Gmail的logo上终于没有了Beta字样,于此同时,Google Calendar,Google Docs也脱离了beta。Gmail长达七年之久的开发与测试终于结束。
从2004年的愚人节到现在,Gmail一直beta着。在此期间,Gmail小组又加入了很多创新性、革命性的东西在里面。例如加入了Gtalk,让大家在网页上聊天,甚至后来在网页上视频通话;加入了pop邮件的功能;使用long polling来实时获取新邮件;创新性地用标签,而不是文件夹来分类邮件。这些都是之前的网页开发者很难想象、很难做到的。
不过,更值得一提的是web应用程序的beta精神。Web App和桌面程序不同,有很多因素会影响其稳定性。例如网络环境,例如浏览器的兼容性和浏览器设置等等。事实上JavaScript本身就是一个设计上存在缺陷的语言,浏览器对它的支持也不尽相同,而CSS在不同浏览器下的差异更是让我们费尽脑子。这些因素都让我们无法理直气壮地说自己的web程序没有问题。一个复杂的网页程序,在Firefox下运行正常了,你敢说在IE5.5下运行也正常?你敢说在Konqueror下显示和运行都没有问题?大概正因如此,Gmail一直都没有脱离beta。也就是说,上个世纪的浏览器大战造成的兼容性问题,折磨了Gmail整整7年啊。
Read the rest of this entry »