2017-01-23 5 views
-1

Ich habe eine Website mit Mauerwerk Blog. Ich benutze Masonry js plugin (http://masonry.desandro.com/).Versuch zu fangen kann Fehler nicht

Aber wenn Seite nicht über Blog (zum Beispiel über Seite) I in der Konsole js Fehler:

Bad masonry element: null 

Ich versuche, "versuchen fangen" zu verwenden

(function($){ 

    "use strict"; 

    $(document).ready(function(){ 

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

     } 

    }); 

})(window.jQuery); 

Aber ich immer noch Erhalten Sie diesen Fehler

Antwort

0

Try catch-Anweisung wird verwendet, um Fehler zu fangen und zu handhaben, nicht um sie zu deaktivieren. Versuchen Sie, Fehler mit dem folgenden Code zu vermeiden:

(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

Die Fehlermeldung, die Sie in der Konsole sehen, wird vom Plugin explizit protokolliert.

Wenn Sie setzen

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

Sie werden sehen, die Ausnahme ganz gut gefangen wird. Um diese Botschaft zu hindern angezeigt, Sie einen Scheck an den Container hinzufügen kann

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