Puts... depois de quase 2 dias brigando com o ChildBrowser (classe para uso com o PhoneGap, que abre uma nova janela web dentro do seu app), cheguei numa solução um tanto rápida.
Precisava que o usuário ao se logar com twitter ou facebook e confirmado seu login, o childbrowser fosse fechado usando o seu próprio evento childbrowser.close().
Depois de muito trabalho e nada de funcionar.. segui no debug do arquivo childbrowser.js
onde encontrei este código:
Como o Phonegap passou a ser um projeto pela APACHE então houve uma mudança no namespace da framework para Cordova, sendo assim aqui está verificando qual namespace estou usando.
// close the browser, will NOT result in close callback
ChildBrowser.prototype.close = function()
{
if (typeof PhoneGap !== "undefined")
{
PhoneGap.exec("ChildBrowserCommand.close");
}
if (typeof Cordova !== "undefined")
{
Cordova.exec("ChildBrowserCommand.close");
}
};
O em vermelho verificando se é phonegap e em azul se é Cordova, pois bem, por alguma razão ele chamava as 2 verificações e executava a mesma chamada 2 vezes.
Então comentando a parte do PHONEGAP (em vermelho) passou a funcionar o evento close().
Maravilha!
Nenhum comentário:
Postar um comentário