在我的自定义JS代码文件中,我使用了各种插件,例如,用于JQuery的砖石插件。但是,我没有在每个页面或母版页文件级别(在一些是,一些不是)上包含插件,但是我确实在每个页面上都包含了我的自定义文件。因此,如果砖石插件丢失,我的JS文件中的代码将发出错误。
如果有人能给出一个解决方案,说明如何:
我让它使用JQuery和JQuery UI,因为它们都在DOM中引入了一个类(jQueryandjquery.ui对象),但是还有其他插件,比如lightbox脚本、前面提到的砌体等等。
发布于 2011-07-10 20:24:22
与其检查某个特定的JavaScript文件是否已被“包含”,我只想检查您所需的功能是否可用(也就是说,如果您需要一个名为foo的函数,只需按照typeof foo == 'undefined'的方式做一些事情,看看它是否存在.)。
发布于 2011-07-10 20:24:02
您试图做的可能是一个不好的想法,但无论如何,这里是如何确定一个给定的插件是否已经定义。在jQuery中,他们只是jQuery作用域的命名空间
if(!jQuery().somePlugin) {
// the plugin is not loaded => load it:
jQuery.getScript('/url_of_the_plugin', function() {
// the plugin is now loaded => use it
});
}发布于 2011-07-10 20:27:38
您只能检查其类或方法是否已定义,在您的情况下:
if (typeof($.fn.masonry) == 'undefined') ...无论如何,我建议将每个页面上的每个脚本都压缩成一个文件。下载和解析可能不需要的代码的成本通常远远低于拥有多个HTTP请求的代价。
https://stackoverflow.com/questions/6643403
复制相似问题