有什么解决方案吗?在需要时,我可以使用JavaScript/jQuery依赖文件?例如,考虑这个场景:
dialog()插件称为。这是否太过简单地试图限制带宽?我是否应该把所有的核心文件都包含在一个超级包中,然后完成它呢?
谢谢您抽时间见我。
发布于 2011-06-21 21:03:30
是的,您应该将所有脚本都放在一个文件中。或者至少他们中的大多数人都是这样的: jquery.js、global.js (这是经常使用的脚本应该在一、两页以上的地方)和page_specyfic.js。假设调用了一个dialog(),用户必须等待.js下载并初始化插件。在带带(如果有的话)的节省是不值得的,损害用户的赎罪。
发布于 2011-06-21 21:02:34
有许多随需应变脚本加载的例子。例如,remy有一个他博客上的代码示例,您可以按原样使用,也可以将其转换为jQuery插件。不幸的是,它可能不能在所有浏览器中工作。
还有一个jQuery惰性插件装载机,它可以按需加载jQuery插件,而不是预先加载。要使用它,您需要为您使用的每个jQuery UI块设置延迟加载,如下所示(名称将是您使用的每一段的函数名):
$.lazy([{
src: 'jquery-ui-1.8.14.custom.min.js',
name: 'dialog'
}]);您还可以在关于按需加载jQuery本身的问题中使用这些技术。例如,您可以在加载jQuery UI所需的时候动态创建一个脚本标记。
最后,既然您谈论的是jQuery UI,请考虑从谷歌的CDN获得它,因为它可能被缓存在用户的浏览器中。
发布于 2011-07-26 00:13:56
您可以尝试这个新的jquery插件。它的工作原理类似于yeapnope.js,但更有意义。
http://plugins.jquery.com/plugin-tags/autoloader
$(document).autoLoader(
{
test: $.ui,
loadScript: "https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery- ui.min.js",
complete: function(){
console.log($.ui);
}
}
);https://stackoverflow.com/questions/6431873
复制相似问题