我的网站根据需要加载动态js文件,例如当前显示的页面。 但是每个页面上的每个页面都会加载所有js库的配置文件。 一些图书馆遗失的时候,一切都运作良好。
脚本在错误行上停止执行。
样品:
$('id').library1({}); //This method doesn't exist
$('id2').library2({}); // This method is not executed
当第一个对象不存在时,如何执行第二个对象方法?
答案 0 :(得分:0)
您必须捕获错误
try { $('id').library1({}); } catch(e){}
$('id2').library2({});
或在执行之前检查方法是否存在
var elem = $('id');
if (elem.library1) elem.library1({});
$('id2').library2({});
答案 1 :(得分:0)
捕获并记录/禁止您收到的第一个错误,以启用第二个和后续调用:
try{
$('id').library1({});
}
catch(e) { console.log(e); /* capture, log, suppress error. */ }
$('id2').library2({});
答案 2 :(得分:0)
在尝试调用方法之前测试方法是否存在(并触发异常):
if (typeof $.fn.library1 == "function")
$('id').library1({});
else
; // in case the method doesn't exist
// this method is still executed
$('id2').library2({});