HTML5 iOS网页应用中,FB.login无法触发。

3

这是针对非本地解决方案的内容,我正在构建一个响应式网站。在浏览器中一切都正常,但当我调用FB.login()时没有任何反应。

$(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
        });

   }
});

问题是当我没有登录Facebook时,我尝试让应用程序弹出Facebook登录界面。但即使相同的代码在浏览器中有效,在FB.login内部它也无法运行。

感谢任何能提供帮助的人!


我也遇到了相同的问题。如果状态未连接,我正在尝试调用fb.login。但出于某些原因,Fb.login没有触发。但是在桌面浏览器中它可以正常工作。 - thomasbabuj
有趣的事情,我正在2016年经历这个。 - MarkSkayff
1个回答

1
原来,在移动浏览器上,您不能调用FB.init然后调用FB.login()。我试图在用户需要登录时保存SDK的加载,但我想我必须使用hover intent或其他东西。
一旦我在页面加载时加载了SDK,然后在onclick()中执行了FB.login(),就足以使其工作。
真麻烦。

我有同样的问题,但我不理解答案。你说的“一旦在页面加载时加载了SDK”是什么意思?我需要在$(document).ready中调用FB.init吗? - jobima
我也有同样的问题.. 我甚至尝试在头部调用fb.init.. 但没有成功.. - Peter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接