Как проверить, определено ли prettyPhoto - PullRequest
1 голос
/ 13 октября 2011

У меня есть этот фрагмент, который находится в моем основном 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
    });
}

но это всегда соответствует истине, даже на страницах, где имеется prettyPhoto ... любые идеи

Ответы [ 2 ]

9 голосов
/ 13 октября 2011

Попробуйте это:

if (typeof $.fn.prettyPhoto == "function") {
    // we have prettyPhone on the page
}
0 голосов
/ 13 октября 2011

если вы делаете console.log (prettyPhoto) на странице, которая, как вы знаете, имеет prettyPhoto, что это говорит? объект?

Если это так, то вы делаете

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