0

Facebookアプリのキャンバスで動作するように非常に単純なjavascript機能を取得しようとしていますが、どこにも行きません。以下にコードを掲載しています。

また、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

とても悲しかったです。スコッチのフルボトルも飲み干しました。人生は崩壊していた...

私はついにそれを理解しました。なぜ Facebook が Javascript を許可しないのか、私は本当に驚きました。キャンバスの URL を安全にする必要があることがわかりました。そこで、SSL 証明書をアップロードし、Facebook アプリのダッシュボードをセキュアなキャンバス URL で更新しました。

また、コンテンツをリクエストする際に http:// または https:// を指定していないことを確認してください。// を指定するだけで、正しいプロトコルがリクエストに使用されます。つまり、ページが安全なページとしてリクエストされた場合、ページ内からリクエストされた追加のリソースは自動的に https としてリクエストされます。また、ページが http のみを使用して要求された場合、ページ内から要求された同じリソースが、http プロトコルを使用して自動的に要求されます。

于 2013-08-28T02:46:54.180 に答える