0

我正在开发一个 Web 应用程序(准确地说它是一个 Tizen Web 应用程序),虽然我已经定义了回调函数,但我得到了那个“未定义”的错误serviceConnectionCallback

我是javascript编程的新手,希望你们能提供帮助。Tks

下面是我的代码:

var serviceConnectionCallback = {
        onconnect : onconnectFromPhone ,
        onrequest : onRequest, 
        onerror : onerror
}

window.onload = function() {

    //do something...
    document.addEventListener("visibilitychange", pageVisibilityHandler, false);

};


function pageVisibilityHandler() {
  if (document.hidden) {
    console.log("hidden");
    /*!!!!!!!!!!!!! PROBLEM HERE !!!!!!!!!!!!!!!!!!!!!!!!*/
    webapis.sa.setServiceConnectionListener(serviceConnectionCallback);
  } else {
    console.log("visible");
  }
}
4

1 回答 1

1

你什么时候打电话pageVisibilityHandler()?我用来达到的流程setServiceConnectionListener如下,从一个connect()方法开始;

1. request an agent: 
       webapis.sa.requestSAAgent(onSuccess, onError);
2. set up the agents in onSuccess: 
       SAAgent = agents[0];
       SAAgent.setPeerAgentFindListener(peerAgentFindCallback); 
       SAAgent.findPeerAgents();
3. set up the listeners:
       SAAgent.setServiceConnectionListener(serviceConnectionCallback);
       SAAgent.requestServiceConnection(peerAgent);

如果您跳过第 2 步,则您的局部变量SAAgent永远不会被实例化,您将收到未定义的错误。SAAgent 是一个局部变量,您应该null按照指南进行初始化。

于 2014-08-10T23:55:06.783 回答