
JavaScript
文章平均质量分 77
jindw
http://www.xidea.org
展开
-
休眠一年有余的JSA,优势依然
JSA是一个大概在2006年底开发的JS分析压缩工具,最初出现的时候相比同类产品,优势明显。后来出现了yuicompressor,风光不再了,两者貌似压缩比例差距很小。都已经接近了语法压缩的极限。无聊一下,分析一下相比YUI,JSA到底还有拉些优势呢,这可得用专业的眼光:[b]JSA 压缩结果[/b][code="java"]function group1(){var ...2009-06-11 02:03:09 · 314 阅读 · 0 评论 -
一个要让Java程序员抓狂的JS Zip压缩程序。
试过Java 生成Zip文件的同学,想必痛苦的编码问题应该记忆犹新吧。由于现在通行的解压软件都是基于本地编码的,而Java Zip工具却是超前的使用了UTF-8。而且非常干脆的断了自己的后路,相关的方法都是native的方法,无法自行扩展。也就是说,中国的程序员就别想用好那个超前的JavaZip的。这几天在网上收集了一些资料,用JavaScript写了一个支持GBK编码的Zip...2009-06-07 23:32:59 · 161 阅读 · 0 评论 -
CSS雕虫小技:八卦五行布图法介绍
[b]本质和优点[/b]先申明一下,这里不是在谈玄论道,说八卦五行,我只是利用了一下这几个数字传统的知名度,以及阴阳说中问题归纳和状态演化的技法。这里所说的布图,就是一种将诺干背景小图片合并在一起(传说中的CSS滑动门技术);这里说的布图说的就是如何组织这些零散的小图片。[b]口诛笔伐:糟糕的绝对位置布图法:[/b]常见的办法是把一堆相关的图片通过绝对位...2009-02-01 23:31:09 · 278 阅读 · 0 评论 -
Google Chrome 浏览器常见问题
[b]Google Chrome 雷区之一:与众不同的eval实现[/b]运行代码:[code]javascript:var eval2 = eval;with({a:1})eval2("a+2")[/code]在chrome上运行是要报错的。记得ecma262 3rd上有一句,eval不应该通过引用别名调用(可能是处于优化的考虑吧)。不过以往的实现中都没把这句...2008-10-08 21:00:30 · 176 阅读 · 0 评论 -
Firefox上读取服务端二进制数据
[list][*]打开你的[b]firefox[/b]输入:[url]http://www.xidea.org[/url][*]打开firebug脚本输入窗口。贴上代码:[quote]var xhr = new XMLHttpRequest();var replaceMap = {};var list = "20ac 81 201a 192 ...2008-07-23 15:19:41 · 778 阅读 · 0 评论 -
请教Mozilla自定义标签的解析的问题。
今天重新考虑JSI装饰引擎的事情。一个一年多前的老问题:我在html中嵌入如下自定义标记: test Mozilla 浏览器将解析为: test而不是我们想当然的: test 这样一来,JSI的装饰引擎就无法装饰这些div,table之类的块元素(现在的办法是在他们外面套一个span,极不优雅)Google了半天没有找到任何解决办法。倒是找到一...2008-04-14 20:59:47 · 118 阅读 · 0 评论 -
MSXML2家族探秘
客户端程序编写免不了经常接触XMLHttpRequest对象。微软的XHR实现的progid又是一串一串的。 烦人。抽一个中午时间,找了找资料,整理记录如下: "Microsoft.XMLHTTP"最早的XHR实现。微软官网上说这是MSXML 2.x系列版本的progid。2.x 系列progid是不带版本号的。看起来简单清楚。引用:MSXML 2.6 was shipped wi...2007-12-31 14:39:34 · 277 阅读 · 0 评论 -
运动曲线研究(缓动效果)
刚刚学习了一下网页动画中上的缓动效果,分享一下学习心得。缓动曲线的概念:缓动曲线是一个0为起点的连续函数曲线,x轴表示时间变化,y轴表示位移变化。曲线的斜率反映出运动的数度。缓动效果在Flash动画中比较常见,用于模拟一些现实中常见的运动轨迹,或者制造一些超绚的效果。而且新版本的Flash中,内置了一些常用的缓动曲线函数。可惜,Flash的这些曲线函数不是开源的,我们不知道内部如...2007-10-14 18:55:02 · 639 阅读 · 0 评论 -
看图学习W3C盒子模型及相关通用脚本元素
获取大小的属性有CSS (大小+border)属性对应的 offset长宽属性(无标准的实事标准):1.offsetWidth获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度。与 CSS width + border对应2.offsetHeight获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度。 与 C...2007-10-10 20:09:53 · 97 阅读 · 0 评论 -
JSA混淆压缩(JavaScript)程序在线体验版发布
[url=http://www.xidea.org/project/jsa/]JSA[/url]这个压缩工具,是java编写的,需要安装java运行环境。这多少给一些非jav程序员带来点不便。现在我们发布servlet在线压缩版本。无需安装,在线压缩,给非Java用户一个更加便捷的使用方式。项目主页:[url]http://www.xidea.org/project/jsa...2007-08-22 16:02:23 · 288 阅读 · 0 评论 -
脚本装载时一个似乎应该有所重视的问题。
今天无意间打开了一个CSDN上的个人blog,发现窗口无法拖动,Firefox的标签页也无法切换。查看代码:[code]Include("Csdn.Blog.UserOnline");Include("Csdn.Blog.ShowmeDataDeal");[/code]看到Include函数,马上可以想到,它很可能使用了动态包含脚本的设计。[code]//http://bl...2007-08-12 18:28:16 · 125 阅读 · 0 评论 -
Re: 用prototype实现的form表单验证
[quote="Ivan Li"]...看看这里http://wiki.javascud.org/display/si/Javascript_EasyValidation[/quote]to:Ivan Li.[quote]1. 我的网站现在使用的是UTF-8编码,怎么使用validation_cn.js显示中文会乱码?答: validation_cn.js默认是使用...2007-07-28 18:12:19 · 100 阅读 · 0 评论 -
JS几处怪癖的语义
[b]带ID的函数表达式:[/b][code]var fn = function fnid(){};[/code]按照ECMA262定义,上面这段脚本等价于:[code]with({fnid:null}){ var fn = fnid = function(){};}[/code]注意:fnid在with外是不可见的,但是IE没有严格遵守ECMA规范(同样...2007-06-30 16:22:17 · 123 阅读 · 0 评论 -
再谈一下DOMContentLoad事件
这个问题算是个老问题了。所以,标题加上一个再字。我主要说一下模拟这个事件时候容易出现的问题。对于FF,Opera9,原生DOMContentLoad支持,就不说了,最头疼的是IE。我最初考虑这个问题的时候,想到的是document的readyState属性。偷窥一下Dojo的源码,发现它也是基于这个属性去做的,那时,我基本就认准了这个方法。于是再后来JSI1和JSI...2007-06-23 15:48:56 · 415 阅读 · 0 评论 -
正则表达式实现JavaScript日期格式化的想法。
今天和网友聊起在javascript里面实现DateFormat 的话题。把想法发布一下,当是笔记。格式化: 1、先用正则把日期表达式分段: var tokens = "yyyy-MM-dd(没有时间)".match(/y+|M+|d+|m+|[^yMdm]+/g) //结果数组为:yyyy,-,MM,-,dd,(没有时间) 2、将其中的yyyy M...2007-06-07 16:38:39 · 134 阅读 · 0 评论 -
关于半透明遮罩的优化(关机效果)
最近在搞JSI 的重构,少来冒泡了。发一个中午的刚用到的小技巧:在关机效果实现上,现在一般根据浏览器特征分别使用 虑镜/样式/图片 去模拟。其中Opera是不支持网页透明的,只能用png的alpha透明模拟。所以,我们需要一张特别的小图片。一个象素,alpha透明。但是这个单象素图片的出现,感觉有点怪怪的,而且当网速很慢的时候,装载这个小图片还会延迟,效果不好。不过,Opera...2007-05-18 15:14:17 · 124 阅读 · 0 评论