0

我试图让一个非常简单的 JavaScript 功能在 facebook 应用程序画布中工作,但是,我无处可去。我在下面发布代码。

另外,我只使用非 HTTPS 画布 URL?那会有什么不同吗?

当我在 facebook 上查看我的应用程序时,我无法更改 facebookUserIDDiv innerHTML。

但是,当我转到实际的主机 URL(画布 URL)时,我可以运行任何 javascript 而不会出现任何问题。

FB 应用画布是否甚至支持标准 DOM 函数?

<body>
<div id="fb-root"></div>
<script>

    window.fbAsyncInit = function() {

    FB.init({appId:'xxxxxxxxxxxxxxxxxx', 
    channelUrl:'//www.example.com/channel.html', 
    status:false, 
    cookie:true, 
    xfbml:false});

    FB.getLoginStatus(function(response) {

        if(response.status === "connected") {

            var facebookUserID = response.authResponse.userID;
            document.getElementById("facebookUserIDDiv").innerHTML 
            = facebookUserID;
        }

    }, true);

};

(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));

</script>
<form>

    <div id="facebookUserIDDiv"/>

</form>
</body>
4

2 回答 2

0

更改status:false,status:true,。这status——

检查登录状态

于 2013-08-25T21:46:32.833 回答
0

我很难过。我什至喝了一整瓶苏格兰威士忌。生活开始分崩离析……

我终于想通了。我真的很惊讶为什么 Facebook 不允许使用 Javascript。原来我需要确保我的画布 URL 安全。所以我上传了 SSL 证书,并使用安全画布 URL 更新了 Facebook 应用程序仪表板。

还要确保在请求内容时未指定 http:// 或 https://。只需指定 //,请求就会使用正确的协议。这意味着,如果该页面被请求为安全页面,则从该页面内请求的任何其他资源都将自动请求为 https。如果仅使用 http 请求页面,则从页面内请求的相同资源将自动使用 http 协议请求。

于 2013-08-28T02:46:54.180 回答