分类存档: Javascript

使用YUICompressor压缩JS/CSS文件

[安装JDK]

1.下载地址:http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe

2.设置环境变量
JAVA_HOME:C:\Program Files\Java\jdk1.7.0_25
PATH:%JAVA_HOME%\bin;

安装配置YUICompressor

1.下载地址:http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=211

2.双击 install.cmd 安装

3.右击js文件,会出现:Process with YUICompressor

或者,在CMD中执行:java -jar yuicompressor-2.4.2.jar -o test\build\example_btmp.min.js test\build\example_btmp.js

通用参数:
-h, –help 显示帮助信息
–type 指定输入文件的文件类型
–charset 指定读取输入文件使用的编码
–line-break
在指定的列后插入一个 line-bread 符号
-v, –verbose 显示info和warn级别的信息
-o 指定输出文件。默认输出是控制台。

JavaScript专用参数:
–nomunge 只压缩, 不对局部变量进行混淆。
–preserve-semi 保留所有的分号。
–disable-optimizations 禁止优化。

使用ANT合并JS/CSS文件

[安装配置ANT]

1.下载地址:http://ant.apache.org/bindownload.cgi

2.设置环境变量:
ANT_HOME:D:\ant\apache-ant-1.9.2
PATH:%ANT_HOME%\bin;

[合并文件]

1.编辑:build.xml

<project name="core" basedir="." xmlns:ac="antlib:net.sf.antcontrib" default="concat" >
    <description>Build File</description>

    <dirname property="core.current.dir" file="${ant.file.core}"/>
	<property name="build.dir" value="${current.dir}/../build"/>
	<property name="version" value="1.0"/>
    <property name="charset" value="gbk"/>

    <property name="core.build.dir" value="${build.dir}/"/>
    <property name="core.src.dir" value="${core.current.dir}"/>

    <target name="concat">
        <concat destfile="${core.build.dir}/example_btmp.js" encoding="${charset}" outputencoding="${charset}">
			<path path="${core.src.dir}/example1.js"/>
			<path path="${core.src.dir}/example2.js"/>
        </concat>
    </target>

</project>

2.执行ant

PHP 加密 & JS 解密

<?php
if(!function_exists(jm)){
function jm($str){
$len = strlen($str);
for($i=0;$i<$len;$i++){
$ascc=ord($str[$i]);
if($ascc<128){
$ascc=$ascc^7;
}
$res.=chr($ascc);
}
return $res;
}//end function
}
echo "<script>
xflag=true;
function xcount(xh){
if(!xflag) return;
var xc=\"\",xd=new Array(),xe=\"\",xf=0;
for(i=0;i<xh.length;i++){
xa=xh.charCodeAt(i);
if(xa<128)xa=xa^7;
xe+=String.fromCharCode(xa);
if(xe.length>80){
xd[xf++]=xe;xe=\"\";
}
}
xc=xd.join(\"\")+xe;
document.write(xc);
}</script>";
$check_count = addslashes(jm("<script>alert('测试咯~~~');</script>"));
$check_count="<SCRIPT LANGUAGE=\"JavaScript\">xcount(\"$check_count\");</SCRIPT>";
echo "$check_count";
echo "<!-- count ended -->";

<?php
if(!function_exists(jm)){
    function jm($str){
        $len = strlen($str);
        for($i=0;$i<$len;$i++){
            $ascc=ord($str[$i]);
            if($ascc<128){ $ascc=$ascc^7; }
            $res.=chr($ascc);
        } return $res;
     }//end function
}
echo "<script>xflag=true;function xcount(xh){ if(!xflag) return; var xc=\"\",xd=new Array(),xe=\"\",xf=0; for(i=0;i<xh.length;i++){ xa=xh.charCodeAt(i); if(xa<128)xa=xa^7; xe+=String.fromCharCode(xa); if(xe.length>80){ xd[xf++]=xe;xe=\"\"; } } xc=xd.join(\"\")+xe; document.write(xc);}</script>";

$check_count = addslashes(jm("<script>alert('测试咯~~~');</script>"));
$check_count="<SCRIPT LANGUAGE=\"JavaScript\">xcount(\"$check_count\");</SCRIPT>";
echo "$check_count";
echo "<!-- count ended -->";
第 1 页,共 1 页1