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

 更新时间:2007年05月09日 00:00:00   作者:  
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 全选 注:引入外部Js需再刷新一下页面才能执行]

相关文章

  • javascript版2048小游戏

    javascript版2048小游戏

    本文给大家分享的是使用javascript制作的2048小游戏的代码,仅仅是想锻炼下自己的编程代码风格,尽量做的规范些,小伙伴们多多给些建议。
    2015-03-03
  • 深度解析TypeScript装饰器

    深度解析TypeScript装饰器

    TypeScript 是一种强类型的超集 JavaScript,它为开发者提供了静态类型检查、代码提示以及更好的可维护性,本文将深入解析 TypeScript 装饰器,从基础概念到高级用法,逐步探讨其作用、原理以及实际应用场景,以帮助你更好地理解和利用这一功能,需要的朋友可以参考下
    2023-09-09
  • JS解决iframe之间通信和自适应高度的问题

    JS解决iframe之间通信和自适应高度的问题

    关于iframe之间的通信问题与自适应高度问题网上有很多,那么这篇文章小编也和大家一起来谈谈iframe之间通信问题及iframe自适应高度问题,有需要的可以参考借鉴。
    2016-08-08
  • 详解redux异步操作实践

    详解redux异步操作实践

    这篇文章主要介绍了详解redux异步操作实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 微信小程序调用摄像头实现拍照功能

    微信小程序调用摄像头实现拍照功能

    这篇文章主要为大家详细介绍了微信小程序调用摄像头实现拍照功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • javascript iframe编程相关代码

    javascript iframe编程相关代码

    javascript iframe编程相关代码,对于熟练操作iframe的朋友有很大的帮助。
    2009-12-12
  • layui使用及简单的三级联动实现教程

    layui使用及简单的三级联动实现教程

    这篇文章主要给大家介绍了关于layui使用及简单的三级联动的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • JavaScript之iterable_动力节点Java学院整理

    JavaScript之iterable_动力节点Java学院整理

    这篇文章主要介绍了JavaScript之iterable,遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型
    2017-06-06
  • uniapp引用echarts的详细步骤(附柱状图实例)

    uniapp引用echarts的详细步骤(附柱状图实例)

    最近在uni-app搭建的微信小程序项目中使用了ECharts,下面这篇文章主要给大家介绍了关于uniapp引用echarts的详细步骤,文中还附有柱状图实例,需要的朋友可以参考下
    2022-07-07
  • 全面解析Bootstrap布局组件应用

    全面解析Bootstrap布局组件应用

    这篇文章主要为大家全面解析Bootstrap布局组件应用,几乎对所有Bootstrap布局组件示例进行了解析,感兴趣的小伙伴们可以参考一下
    2016-02-02

最新评论