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 に答える