読者です 読者をやめる 読者になる 読者になる

ファイヤードブログ

ディジタル・パブリッシングという観点から、Webサイト制作、電子書籍制作などを。※ブログリニューアル中

JavaScriptでのfunction_exists()的な処理

WordPress JavaScript WebDev pitfalls

12.13追記 : なぜかこの処理で不具合発生。原因解明次第追記します。

問題

 RWDとも相性のいいjQueryプラグイン、Mansoryを使用している。使うのは、あるテンプレートファイル1枚のみなので、他の部分ではequeueまわりの条件分岐で除外している。このままメインのJavaScriptファイルに、Mansory関連の処理を書いてしまうと、エラーが出てそれ以降の行のスクリプトが実行されなくなる。

解決

 WordPerssの発想では、これはfunction_exits()を使って処理するので、「javascript function exists」と検索してみたところ、次のTipsページが表示された。
http://css-tricks.com/snippets/javascript/check-if-function-exists-before-calling/

 ここのページを真似て、次のようにMansory関連の記述を改めると改善された。

        if (typeof mansory == 'function') { 
            jQuery('.mansory-row').masonry({
                itemSelector : '.mansory-grid'
            }); 
        }