相关疑难解决方法(0)

Javascript - 如何检测文档是否已加载(IE 7/Firefox 3)

我想在文档加载后调用函数,但文档可能已经或可能尚未完成加载.如果它加载了,那么我可以调用该函数.如果它没有加载,那么我可以附加一个事件监听器.我无法在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)

javascript events onload addeventlistener

157
推荐指数
5
解决办法
29万
查看次数

类型错误:null 不是对象(评估 '*')

对于以下代码:

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'

javascript json angularjs

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×2

addeventlistener ×1

angularjs ×1

events ×1

json ×1

onload ×1