代码之家  ›  专栏  ›  技术社区  ›  Taylor Satula

精简jquery

  •  1
  • Taylor Satula  · 技术社区  · 16 年前

    我一直在优化我的网站,但我遇到的一个问题是所有我不使用的jquery函数。我唯一使用的是一个平滑的页面滚动条。这似乎是在浪费下载时间。

    我的问题是:是否有任何脚本或程序可以删除我不需要的jquery代码,并保留我需要的1或2个函数。

    2 回复  |  直到 16 年前
        1
  •  4
  •   Nick Craver    16 年前

    没办法这么做,特别是因为事情没那么简单。例如 .fadeIn() 是一个方法,但它调用jquery的整个动画部分来淡入元素,但那是在选择器访问了遍历部分(包括sizzle选择器引擎)之后……大多数框架都是这样的 非常 由于框架内部的依赖关系太多,很难删除片段。

    也就是说,如果您正确地交付jquery,它将被缩小并被gzip压缩,并且您只发送 24kb 致客户 他们把它藏起来 所以它只发送一次,不是每次页面加载。而且,他们可能已经从另一个站点缓存了它,将站点指向同一个cdn(您正在查看的页面)的人越多,这种情况发生的可能性就越大。

    谷歌有一个CDN, details here ,例如,从那里可以获取jquery或jquery ui:

    而且,微软有一个CDN, details here ,您可以从中获取fran jquery和验证库:

    注:这些是当前版本 到这个答案的时候为止 ,不要使用这些显式链接如果您稍后发现此链接,则可能有更新的可用版本。

        2
  •  2
  •   Josh Stodola    16 年前

    只需参考谷歌的库,它很可能已经被缓存在客户端…

    <script type="text/javascript"
            src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
    </script>
    

    这也将节省您的带宽。stackoverflow和许多其他站点都这样做。