1

サイト全体で使用するメインの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 が利用可能なページであっても、これは常に true で実行されます....任意のアイデア

4

2 に答える 2

9

これを試して:

if (typeof $.fn.prettyPhoto == "function") {
    // we have prettyPhone on the page
}
于 2011-10-12T20:48:07.427 に答える
0

prettyPhoto が含まれていることがわかっているページで console.log(prettyPhoto) を実行すると、それは何と表示されますか? オブジェクト?

もしそうなら、あなたはそうします

if(typeof prettyPhoto === 'object'){
    //do your stuff here.
}
于 2011-10-12T20:48:28.980 に答える