我想在文档加载后调用函数,但文档可能已经或可能尚未完成加载.如果它加载了,那么我可以调用该函数.如果它没有加载,那么我可以附加一个事件监听器.我无法在onload已经触发后添加一个eventlistener,因为它不会被调用.那么如何检查文档是否已加载?我尝试了下面的代码,但它并不完全有用.有任何想法吗?
var body = document.getElementsByTagName('BODY')[0];
// CONDITION DOES NOT WORK
if (body && body.readyState == 'loaded') {
DoStuffFunction();
} else {
// CODE BELOW WORKS
if (window.addEventListener) {
window.addEventListener('load', DoStuffFunction, false);
} else {
window.attachEvent('onload', DoStuffFunction);
}
}
Run Code Online (Sandbox Code Playgroud) 对于以下代码:
var item = cartModel.getlist()[index];
if((item.isDepo()) {
// Some code
} else if(!permission.hasPermissionToVoidSKU()) {
// Some code
} else if(item.sku.indexOf(mposConstants.RESTOCK_FEE_SKU) > -1){
// Some code
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
类型错误:null 不是对象(评估“item.sku.indexOf”)
如果 item 对象为 null,则错误有所不同(见下文)。在什么情况下会抛出这个错误?
更新:
如果item.sku为空,则错误为:
[致命] [] [-] ["TypeError: 无法读取 null 的属性 'indexOf'
如果item为空,则错误为:
[致命] [] [-] ["TypeError: 无法读取 null 的属性 'isDepo'