首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript Autoloader?

JavaScript Autoloader?
EN

Stack Overflow用户
提问于 2011-06-21 20:57:09
回答 8查看 13.5K关注 0票数 10

有什么解决方案吗?在需要时,我可以使用JavaScript/jQuery依赖文件?例如,考虑这个场景:

  1. 当需要加载特定脚本时,我有一个自动加载脚本侦听。
  2. jQuery dialog()插件称为。
  3. 自动加载程序被告知当调用此插件时要侦听,并加载jQuery UI。
  4. 如果以后会调用更多的对话框,则将不会加载所需的脚本。

这是否太过简单地试图限制带宽?我是否应该把所有的核心文件都包含在一个超级包中,然后完成它呢?

谢谢您抽时间见我。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-06-21 21:03:30

是的,您应该将所有脚本都放在一个文件中。或者至少他们中的大多数人都是这样的: jquery.js、global.js (这是经常使用的脚本应该在一、两页以上的地方)和page_specyfic.js。假设调用了一个dialog(),用户必须等待.js下载并初始化插件。在带带(如果有的话)的节省是不值得的,损害用户的赎罪。

票数 3
EN

Stack Overflow用户

发布于 2011-06-21 21:02:34

有许多随需应变脚本加载的例子。例如,remy有一个他博客上的代码示例,您可以按原样使用,也可以将其转换为jQuery插件。不幸的是,它可能不能在所有浏览器中工作。

还有一个jQuery惰性插件装载机,它可以按需加载jQuery插件,而不是预先加载。要使用它,您需要为您使用的每个jQuery UI块设置延迟加载,如下所示(名称将是您使用的每一段的函数名):

代码语言:javascript
复制
$.lazy([{
   src: 'jquery-ui-1.8.14.custom.min.js',
   name: 'dialog'
}]);

您还可以在关于按需加载jQuery本身的问题中使用这些技术。例如,您可以在加载jQuery UI所需的时候动态创建一个脚本标记。

最后,既然您谈论的是jQuery UI,请考虑从谷歌的CDN获得它,因为它可能被缓存在用户的浏览器中。

票数 3
EN

Stack Overflow用户

发布于 2011-07-26 00:13:56

您可以尝试这个新的jquery插件。它的工作原理类似于yeapnope.js,但更有意义。

http://plugins.jquery.com/plugin-tags/autoloader

代码语言:javascript
复制
$(document).autoLoader(
    {
      test: $.ui,
      loadScript: "https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-   ui.min.js",
      complete: function(){
         console.log($.ui);
      }
    }
);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6431873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档