如何检查是否定义了prettyPhoto

时间:2011-10-12 20:42:46

标签: jquery jquery-plugins prettyphoto

我的整个网站使用

的主js文件中有这个片段
$("a[rel^='prettyPhoto']").prettyPhoto({
        theme: 'light_square',
        showTitle: false,
        allow_resize: true
    });

问题是在某些页面上,prettyPhoto未定义并导致firebug出错,所以我想我会尝试这个

if(typeof prettyPhoto=="undefined"){
    //do nothing
}else{
    $("a[rel^='prettyPhoto']").prettyPhoto({
        theme: 'light_square',
        showTitle: false,
        allow_resize: true
    });
}

但是这总是执行为true,即使在prettyPhoto可用的页面上......任何想法

2 个答案:

答案 0 :(得分:9)

试试这个:

if (typeof $.fn.prettyPhoto == "function") {
    // we have prettyPhone on the page
}

答案 1 :(得分:0)

如果你在一个你知道有prettyPhoto的页面上做一个console.log(prettyPhoto),它会说是什么?一个对象?

如果是,那么你做

if(typeof prettyPhoto === 'object'){
    //do your stuff here.
}