2017-01-23 19 views
-1

私はメーソンリーブログのウェブサイトを持っています。私は、Masonry jsプラグイン(http://masonry.desandro.com/)を使用します。キャッチはエラーをキャッチできません

しかし、ページが(ページ例えば約)ブログを持っていない場合、私は、コンソールでjsのエラーを取得:

Bad masonry element: null 

私はまだ

(function($){ 

    "use strict"; 

    $(document).ready(function(){ 

     try { 
      var container = document.querySelector('#masonry'); 
      var msnry = new Masonry(container, { 
       itemSelector: '.post-item' 
      }); 
     } catch(err) { 

     } 

    }); 

})(window.jQuery); 

「キャッチを試みる」を使用してみてくださいしかし、私このエラーが発生する

答えて

0

するTry catch文がそれらを無効にしないように、エラーをキャッチして処理するために使用された容器にチェックを追加することができ、表示されてからそのメッセージを防ぐために。 次のコードを使用してエラーを防止してください:

(function($){ 

    "use strict"; 

    $(document).ready(function(){ 

      if($("#masonry").length) { 
       var container = document.querySelector('#masonry'); 
       var msnry = new Masonry(container, { 
       itemSelector: '.post-item' 
       }); 
      } 

    }); 

})(window.jQuery); 
0

コンソールに表示されるエラーメッセージは、プラグインによって明示的に記録されます。

あなたは

catch(err) { 
    console.log('exception is caught', err); 
} 

を置く場合は、例外がうまくキャッチされて表示されます。 あなたは

var container = document.querySelector('#masonry'); 
if(container){ 
    var msnry = new Masonry(container, { 
     itemSelector: '.post-item' 
    }); 
} 
関連する問題