检查库是否已加载或初始化

时间:2014-05-18 18:20:23

标签: javascript jquery

我使用的是RS Slider JS库,但是我将它加载到几个页面而不是所有网站上,然后我有一个脚本,这是我触发库的所有站点所共有的,例如:

var revapi;

jQuery(document).ready(function() {

       revapi = jQuery('.tp-banner').revolution(
        {
            delay:9000,
            startwidth:1170,
            startheight:500,
            hideThumbs:10,
            lazyLoad:"on"

        });

});

在某些情况下,当库JS没有被加载因为我不需要它时,这部分代码会触发一些"未成年人"错误,那么我如何检查JS是否已加载或是否存在revolution()对象或其他东西以避免该问题?你的处理方法是什么?

2 个答案:

答案 0 :(得分:1)

在初始化插件之前,您可以检查特定的类是否存在。如果没有,插件函数永远不会被调用,也不会抛出错误

if( $('.revolutionClass').length ){
   /* initialize plugin */

}

答案 1 :(得分:1)

因此,您要问如何确定jQuery()返回的对象是否具有revolution功能?

为什么不这样做:

jQuery(document).ready(function() {

    var banner = jQuery('.tp-banner'),
        revapi;

    if (banner.revolution) {
        revapi = banner.revolution({
            delay:9000,
            startwidth:1170,
            startheight:500,
            hideThumbs:10,
            lazyLoad:"on"
        });
        // do other stuff with revapi
    }
});