1

私は見ましたが、これに対する答えは出ていないようです...私のjsファイルのwindow.fbAsyncInitが呼び出されていないようです。これは非常に基本的な API に慣れるためのテスト アプリであり、HTML 部分に PHP スニピットが含まれているのはそのためです ;)。私が考えていたのは、JS が fb-root DIV を見ることができなかったので、後で JS を読み込んでみましたが、Facebook のもの以外はすべて削除しましたが、まだ何もありません...情報 DIV の innerHTML もコンソールも何も表示しません. DIV とコンソールに「SDK がロードされました」というメッセージが表示されるので、API がロードされていることがわかります。また、エラーも発生していません。なぜこれがうまくいかないのか、誰にもアイデアはありますか? FF、Chrome、Safari、IE (mac と pc) も試してみましたが、同じ結果でした。

コードはもともとチュートリアル サイトからのものでした (少し調整しました :) が、Facebook のドキュメントを再確認したところ、彼が持っていたものと同じでした。

HTML

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Guess Test</title>
    <link href="guess.css" rel="stylesheet" type="text/css">
    <script src="jquery-1.7.2.min.js" type="text/javascript"></script>
    <script src="guess.js" type="text/javascript"></script>
</head>
<body>
<div id="fb-root"></div>
<?php echo "Welcome to the guess test program :D<br>"; ?>

<div id="alertbox"></div>

<br>
<div>Enter your guess between 1 and 10: <input type=text id='myGuess' name='myGuess'>
<input type='button' onClick='Guess()' value='Guess'>
<br>
<br>
<input type='button' onClick='document.getElementById("alertbox").innerHTML = "reset"; Restart()' value='Start Again'>
<br>
<div id="info"><div>

<script type=text/javascript>Restart();</script>

</body>
</html>

Javascript (js ファイル)...ID と URL が削除されました :)

var iRandom;
var cheat=false;
var fb_login = "foo";
fb_login = "Start";

function Restart() {
    document.getElementById("info").innerHTML = fb_login;
    iRandom = Math.floor(Math.random()*10)+1;
    if(cheat)
        document.getElementById("info").innerHTML = iRandom;
    var tempstring = document.getElementById("alertbox").innerHTML;
    if((tempstring == "") || (tempstring == "reset")) {
        document.getElementById("alertbox").innerHTML = "OK, I am thinking of a number between 1 and 10";
        }
    }

function Guess() {
    var yourGuess = document.getElementById('myGuess').value;
    if (yourGuess>iRandom) {
        document.getElementById("alertbox").innerHTML = "Too High.";
        }
    if (yourGuess<iRandom) {
        document.getElementById("alertbox").innerHTML = "Too Low.";
        }
    if (yourGuess==iRandom) {
        document.getElementById("alertbox").innerHTML = "Well done! You guessed it.";
        Restart();
        }
    }

window.fbAsyncInit = function() {
    console.log("START FB init");
    fb_login = "START FB init";
    FB.init({
        appId      : 'USED-MY-APP-ID', // App ID
        channelUrl : '//MYURL.com/facebook/channel.php', // Channel File
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true,  // parse XFBML
        frictionlessRequests : true // enable frictionless requests
        });

        // Additional initialization code here
    FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
            var uid = response.authResponse.userID;
            accessToken = response.authResponse.accessToken;
            fb_login = "Welcome back";
            alert("Welcome back");
            }
        else if (response.status === 'not_authorized') {
            //User is logged into Facebook, but not your App
            //LOG IN function
            fb_login = "App not authorized";
            alert("App not authorized");
            }
        else {
            // User is not logged into Facebook at all
            window.top.location ='https://www.facebook.com/index.php';
            fb_login = "no facebook";
            alert("no facebook");
            }
        });
    };

// Load the SDK Asynchronously
(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);
    fb_login = "SDK loaded";
    console.log("SDK loaded");
    }(document));
4

0 に答える 0