当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%

Javascript
动态生成select选项全接触
不刷新页面动态更新select选项,实现两个select相互操作
网页输入框日期型有效性判定一网打尽
实用Javascript函数之一(自动将输入文本框中的内容转换成大写字符)
实用Javascript函数之二(自动将输入文本框中的内容转换成小写字符)
实用Javascript函数之三(限制文本输入框中只能输入数字\"0\"到\"9\")
实用Javascript函数之四(用于对sString字符串进行前空格截除)
实用Javascript函数之五(用于对sString字符串进行后空格截除)
实用Javascript函数之六(截除字符串前后空格)
如何使用交替的滚动标题
采用DOM模型时创建一个Select节点后,要删除option项的解决方法
javascript函数速查
利用JavaScript和正则表达式进行丰富的日期判断(给其它项目组的代码,有比较好的编程风格和注释)
关于字符串的几个有用函数
FileSystemObject 的例子(处理驱动器、文件夹、文件)
用JScript实现VB.Net,C#的[委托Delegate]:
得到固定字符位置的函数
IE NC通用的藏鼠标右键一法
Menu
foolpot2001菜单

Javascript 中的 脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 135 ::
收藏到网摘: n/a

SA 1.0 Alpha发布,压缩效率提高大约10%
压缩算法改进:
实现了自己的文本压缩算法
* 提高了压缩比率以及解压效率。
优化了语法压缩
* 合并连续var申明,
* 删除了多余var申明,
* 删除了多余大括弧({、}),
* 删除了多余分号(;)。
UI改进:
* 自动编码识别
* 支持文件拖放
* 支持JAVA1.4.2+ 当jar打开方式为java时,可双击运行,但,若JAR打开方式被修改(如winrar),请使用如下方式:
CMD>java -jar xx.jar
* 格式化
注释只能在各语句之间,插在语句中间的注释有可能丢失,在格式化的时候,算bug吧。
* 压缩参数设置
操作->设置:
执行语法压缩:将替换局部变量,删除冗余语法。
执行文本压缩:将脚本文本分词、替换压缩。执行时可通过eval( 解压函数() )方式还原。
兼容IE5、NS3:老版本的浏览器对正则表达式支持优先,是否需要兼容他们(需要采用稍微复杂一点的解压函数)。
执行文本压缩的条件设置:设置何时采用文本压缩,有两项,比率要求和大小要求;因为eval是需要额外开销的,所以,只有当文本压缩的比率小于指定值且文件大小大于指定值时才采用文本压缩。

ANT Task
* 默认编码 :取JRE的默认编码,可能随机器不同而改变,所以,推荐手动指定器编码方式(eg:charset="utf-8"/charset="GBK")
* jsicompile 任务:编译JSI (压缩,预装载编译,定制启动文件)
* jscompress 压缩脚本
ANT Task 示例
jsicompiler 示例(处理JSI及其集成的第三方脚本)
xml 代码
复制代码 代码如下:

<target name="compress" depends="init">
<jsicompile destDir="ant/temp/scripts" rebuildboot="true" charset="utf-8">
<fileset dir="web/scripts">
<include name="*/**/*.*" />
<include name="*.*" />
<exclude name="preload/**" />
</fileset>
<preloadgroup path="code-decorator.js">
<fileset dir="web/scripts">
<include name='js/io/__$package.js' />
<include name='js/io/request.js' />
<include name='js/io/writer.js' />
<include name='js/xml/__$package.js' />
<include name='js/xml/template.js' />
<include name='js/xml/tag.js' />
<include name='js/util/__$package.js' />
<include name='js/util/collections.js' />
<include name='org/xidea/syntax/__$package.js' />
<include name='org/xidea/syntax/syntax-parser.js' />
<include name='org/xidea/decorator/__$package.js' />
<include name='org/xidea/decorator/code.js' />
</fileset>
</preloadgroup>
</jsicompile>
</target>

jscompress 示例(压缩普通脚本)
xml 代码
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]