我正在开发一个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");
}
}
答案 0 :(得分: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
。