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

Javascript
jquery 操作单选框,复选框,下拉列表实现代码
js 数组实现一个类似ruby的迭代器
JavaScript 组件之旅(一)分析和设计
JavaScript 组件之旅(二)编码实现和算法
JavaScript 组件之旅(三):用 Ant 构建组件
JavaScript 组件之旅(四):测试 JavaScript 组件
小议javascript 设计模式 推荐
浅谈javascript 面向对象编程
javascript 时间比较实现代码
js apply/call/caller/callee/bind使用方法与区别分析
JavaScript 全角转半角部分
jquery 选择器部分整理
Firebug 字幕文件JSON地址获取代码
jQuery 判断元素上是否绑定了事件
javascript实现的距离现在多长时间后的一个格式化的日期
javascript 面向对象,实现namespace,class,继承,重载
javascript 通过封装div方式弹出div窗体
JScript 脚本实现文件下载 一般用于下载木马
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
网页禁用右键实现代码(JavaScript代码)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 180 ::
收藏到网摘: 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 全选 提示:你可先修改部分代码,再按运行]