我的网站有砌体博客。我使用Masonry js插件(http://masonry.desandro.com/)。
但是如果页面没有博客(例如关于页面)我在控制台中收到js错误:
Bad masonry element: null
我尝试使用“try catch”
(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 :(得分:0)
您在控制台中看到的错误消息将由插件明确记录。
如果你把
catch(err) {
console.log('exception is caught', err);
}
你会看到异常被抓住了。 为防止出现该消息,您可以向容器添加支票
var container = document.querySelector('#masonry');
if(container){
var msnry = new Masonry( container, {
itemSelector: '.post-item'
});
}
答案 1 :(得分: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);