fbAsyncInit コールバック関数内の FB オブジェクトはまだ定義されていません。これの目的は、FB がロードされて を使用して初期化する準備ができたらコールバックすることではありませんFB.init({})
か?
に別の非同期関数を追加するsetTimeout
と、FB オブジェクトが読み込まれます。
このjsFiddleを参照してください。
明らかに私は何かが欠けています。誰かが明確にすることができますか?
fbAsyncInit コールバック関数内の FB オブジェクトはまだ定義されていません。これの目的は、FB がロードされて を使用して初期化する準備ができたらコールバックすることではありませんFB.init({})
か?
に別の非同期関数を追加するsetTimeout
と、FB オブジェクトが読み込まれます。
このjsFiddleを参照してください。
明らかに私は何かが欠けています。誰かが明確にすることができますか?
これは恥ずかしいです。欠落しているセミコロンを見つけることができますか?ありがとうJSLint ;
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function () {
debugger;
if (typeof FB !== "undefined") alert('FB loaded now');
else alert('FB not loaded');
//This works
setTimeout(function () {
if (typeof FB !== "undefined") alert('FB loaded now');
else alert('FB still not loaded');
},100);
}
(function () {
debugger;
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
} ());
</script>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function ()
{
debugger;
if (typeof FB !== "undefined") alert('FB loaded now');
else alert('FB not loaded');
//This works
setTimeout(function ()
{
if (typeof FB !== "undefined")
alert('FB loaded now');
else
alert('FB still not loaded');
},100);
}; // --> SEMI-COLON HERE
(function () {
debugger;
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
} ());
</script>