【问题标题】:Chrome.webNavigation.onBeforeNavigate Cannot read property 'callback' of undefinedChrome.webNavigation.onBeforeNavigate 无法读取未定义的属性“回调”
【发布时间】:2013-09-02 00:41:11
【问题描述】:

我想用chrome.webNavigation.onBeforeNavigate的回调来获取frameId和parentFrameId等框架信息。

后台页面代码:

chrome.webNavigation.onBeforeNavigate.addListener(onBeforeNaviCallback);

function onBeforeNaviCallback(detail){

    console.log("frameId" +detail.frameId); 

};//end of onBefore 

总是有错误:

 Error in event handler for 'webNavigation.onBeforeNavigate': Cannot read property 'callback' of undefined TypeError: Cannot read property 'callback' of undefined
        at Event.dispatch_ (event_bindings:342:58)
        at dispatchArgs (event_bindings:214:26)
        at Object.chromeHidden.Event.dispatchEvent (event_bindings:223:7)

【问题讨论】:

    标签: javascript google-chrome google-chrome-extension callback


    【解决方案1】:

    切换顺序,在该行执行时它不知道您在说什么。

    function onBeforeNaviCallback(detail){
    
        console.log("frameId" +detail.frameId); 
    
    };//end of onBefore
    
    chrome.webNavigation.onBeforeNavigate.addListener(onBeforeNaviCallback);
    

    【讨论】:

    • 函数和变量声明在其余代码之前“执行”,无论它们的位置如何。这称为function hoisting。 OPs 代码 sn-p 不包含任何错误,(s)他应该发布产生问题的实际代码。
    • 谢谢罗伯。出于可读性目的,我还是会切换它们,user2694180。
    猜你喜欢
    • 1970-01-01
    • 2018-07-13
    • 2020-04-06
    • 2020-10-30
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多