2012-07-06 3 views
3

이것은 비 네이티브 (non native) 솔루션을위한 것입니다. 모든 것이 브라우저에서 제대로 작동하지만 FB.login()을 호출하면 아무 일도 일어나지 않습니다.FB.login은 HTML5 iOS 웹 앱을 실행하지 않습니다.

$(function() { 
    $.getScript("https//connect.facebook.net/en_US/all.js", function() { 

     FB.init({ 
      appId  : fbAppId, 
      status  : true, 
      cookie  : true, 
      oauth  : true 
     }); 

     alert(FB); // [object object] 

     FB.getLoginStatus(function(response) { 
      alert(response.status); 
      // if the iOS simulator is logged into facebook 
      // this says "connected" 

      // if the iOS simulator is NOT logged in 
      // it says "unknown" 
     }); 

     FB.login(function(res) { 
      // never gets here on iOS simulator 
      // works fine on browsers 
     }); 

    } 
}); 

문제는 내가 페이스 북에 로그인하지 않았을 때, 응용 프로그램이 페이스 북을 보는 스크린을 열어 팝업으로하려고하는 것입니다. 동일한 코드가 브라우저에서 작동하더라도 FB.login 내부에 들어 가지 않습니다.

도움을 주실 수있는 분들께 감사드립니다!

+0

나는 또한 동일한 문제가 있습니다. 상태가 연결되어 있지 않으면 fb.login을 호출하려고합니다. 그러나 어떤 이유로 Fb.login이 실행되지 않습니다. 그러나 데스크톱 브라우저에서는 잘 작동합니다. – thomasbabuj

+0

흥미로운 점은 2016 년에이 문제를 해결할 것입니다. – MarkSkayff

답변

1

모바일 브라우저에서 FB.init을 호출 한 다음 FB.login()을 호출 할 수 없다는 것이 드러났습니다. 사용자가 로그인해야 할 때까지 SDK 로딩을 저장하려고했으나 hover intent 또는 다른 것을 사용해야합니다.

일단 페이지로드시 SDK를로드 한 다음 FB.login() onclick()을 실행하면 충분합니다.

피타

+0

동일한 문제가 있지만 답변을 이해하지 못합니다. "일단 페이지로드시 SDK를로드하면"무엇을 의미합니까? $ (document) .ready 또는 무엇을 FB.init에 호출해야합니까? – jobima

+0

나는 또한 동일한 문제가있다. 나는 fb.init를 머리에서 호출하려고 시도했다. 그러나 성공하지 못했다. .. – Peter

관련 문제