使用闭包编译器删除jQuery的未使用部分

是否可以使用闭包编译器删除jQuery的未使用部分?

我有一个只使用jQuery的网络(json)函数的脚本,我想要一个删除其他所有东西的缩小脚本.

我试过调用它:

java -jar compiler.jar --compilation_level=ADVANCED_OPTIMIZATIONS --js=jquery-latest.js --js=my_script.js  --js_output_file=out.js

但我最终得到的文件不小于常规的缩小jQuery源代码.

编辑:我应该提一下这背后的原因.此脚本将包含在第三方网站中,它需要更高版本的jQuery(1.5或1.6).我认为最简单的处理方法是将最新版本捆绑在脚本中(仅适用于我的脚本,而不是触及window.jQuery),删除未使用的部分以减小大小.这样,如果他们已经有了旧版本的jQuery,它就不会干涉.

解决方法

在jQuery中删除“未使用”的方法是不可能的,因为你可以用疯狂的方式调用方法,如:
<input id="test" value="hello!"/>

alert($('#test')[prompt('Method?')]()); // input "val" in the prompt Box

闭包编译器不可能知道将使用哪些方法.

小提琴:http://jsfiddle.net/garreh/xDDXt/

正如一些旁注:

> jQuery(1.6)的最新生产版本仅为31kb.通过适当的缓存控制,这将被下载一次并由浏览器在本地缓存.
>你可能会帮助自己优化通常尺寸更大的东西,即图像.
> …或减少浏览器请求,例如使用CSS精灵技术来更好地优化您的网站.
>放置您的jQuery代码< script>标记页面底部,实现更大的下载并行化. http://developer.yahoo.com/blogs/ydn/posts/2007/07/high_performanc_5/

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...