站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Ajax- 完成JavaScript压缩和模糊处理
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="text-align:center; border:1px solid #000; float:right; padding:6px;"><strong>导航:</strong> [[Ajax学习教程#Ajax学习教程|上一页]] | {{template:开发语言导航}}</span> <div style="clear:both;"></div> 我们都知道,JavaScript是一种在客户浏览器中执行的解释型语言。换句话说,JavaScript会以明文下载到浏览器,再由浏览器根据需要执行这个JavaScript代码。 <br> 用户只要使用浏览器的查看源代码功能就能读到JavaScript源代码,该功能会显示出页面的完整HTML标记,包括所有JavaScript块。即使JavaScript源代码放在一个外部文件中,并用script标记的src属性来引用,用户也可以下载并阅读它。由于查看页面的人都能得到JavaScript源代码,所以不要把专用或机密的逻辑算法放在JavaScript中。这种逻辑最好放在服务器上,在那儿会更安全一些。<br> 在基于Ajax的应用中,随着JavaScript的使用越来越多,JavaScript文件的大小可能会成为问题。由于JavaScript是一种解释型语言,因此不会编译为机器级的二进制码,而对于可执行代码来说,二进制码才是更高效的存储格式。如果JavaScript文件太多就会使应用的速度减慢,因为它需要先把源代码从服务器下载到浏览器,然后才能在浏览器上执行。另外,如果使用诸如JSDoc(如前所述)的工具为此要对代码加注释,本来就很大的JavaScript代码会变得更大。<br> 你可能看到了,JavaScript缺少二进制的可执行包,这会带来两个问题:安全性差,以及需要下载大量的源代码。有没有办法避开这些问题呢?<br> JavaScript日益普及,因此也产生了许多工具,这些工具有助于解决这些问题。最简单的压缩工具会简单地去除JavaScript源代码中的所有注释和换行符,这样可以减小下载的源代码的大小。删除注释行和换行符能使JavaScript文件的大小缩小30%甚至更多,这要依具体情况而定。需要说明的是,JavaScript源代码中的所有语句必须正确地以分号结束,只有这样才能用这种工具对源代码进行压缩。如果没有做到这一点,你就会接收到错误或者未预料行为的消息。所以,在压缩JavaScript源代码之前,一定要使用JSLint确保所有语句都以分号结束!<br> 还有一些工具则更进一步,可以提供模糊服务。模糊(Obfuscation)是一种过程,指全面扫描源代码,将字段和函数原来的名字改成经编码的无意义的名字,以防止其他人了解源代码的含义和内部工作。对于能编译为机器级二进制指令的语言来说(如C++),一般不需要这种模糊处理。即使Java和C#这样能够编译为中间字节码而不是二进制指令的现代语言,也需要模糊工具来保证最大程度的安全。JavaScript作为一个完全解释型语言同样需要这样一种工具。<br> 有一个能同时提供压缩和模糊服务的免费工具,就是MemTronic的HTML/JavaScript Cruncher-Compressor(hometown.aol.de/_ht_a/memtronic/)。这个工具支持多个层次的JavaScript压缩。最低层次的压缩在这个工具中称为挤压(crunching),只是简单地删除所有注释和换行符。这个工具的相关文档称,这样可以节省20%~50%的带宽。使用“crunch”模式,可以看到JavaScript文件的大小缩小了30%。<br> 最高层次的压缩在这个工具中称为压缩(compressing),是用一种真正的压缩机制实际压缩JavaScript源代码,并向文件增加自动解压缩功能。这个工具的相关文档称,当使用这种模式时,带宽可以节省40%~90%,而且压缩后的输出已经在当前版本的IE、Netscape、Mozilla和Opera等浏览器上成功通过测试。使用同一个JavaScript文件,应用“compressing”模式和“crunch”模式进行测试,发现使用“compress”模式使得文件大小的缩小幅度超过了65%(见图5-13)。<br> 在写本书时,MemTronic工具的文档称,JavaScript的模糊工具还不算完备。不过,可以看看图5-13所示的输出窗口,这里显示了对JavaScript文件执行“压缩”操作的结果。这个输出中包含了许多奇怪的字符,难于阅读。尽管这可能不是真正意义上的模糊处理,但确实足以防止有不良企图的用户查看(甚至窃取)你的JavaScript源代码。<br> [[Image:image0130.jpg]] 图5-13 MemTronic的 HTML/JavaScript Cruncher-Compressor可以大大缩小JavaScript源代码的大小,并且难于读懂<br> [[category:Ajax]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:开发语言导航
(
编辑
)