ウェブサイトに facebook javaSDK を使用していますが、奇妙な問題があります。「インターネットエクスプローラー」でウェブサイトを読み込むと、常に正常に動作します。Firefox で Web サイトを読み込むと、常に 2 回読み込まれます。chrome を使用すると、JSDK が 1 回読み込まれる場合とまったく読み込まれない場合があり、「Uncaught ReferenceError: FB is not defined」というエラーが表示されます。SDK の非同期読み込みを使用してみましたが、それでも同じ問題が発生します。ところで、私はfirefoxにfirebugを持っています.JSDKが2回ロードされる理由はありますか?
これはjssdkをロードするためのコードです
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '108437552626598', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
// 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);
}(document));
</script>
そして、私はFB.getloginを使用しようとしています.FacebookのopengraphをWordpressサイトに統合しようとしています. メイン コンテンツの読み込みが完了したら、すぐにスクリプトを作成します これがコードです
</div><!-- end #content -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
FB.getLoginStatus(function(response) {
if (response.status == 'connected') {
alert('in');
window.facebooklogin = 'true';
window.myValue = response.authResponse.accessToken;
window.myId = response.authResponse.userID;
$('.userimage img').attr('src','http://graph.facebook.com/' + window.myId + '/picture');
$.ajax({ url: 'http://ballvids.com/check/admin_checkuser.php',
data: {action: window.myId},
dataType:'json',
type: 'post',
success: function(output) {
if (output.message == 'true'){
$('.thumbnail img').attr('src',"http://ballvids.com/images/on2.png");
alert(window.myValue);
FB.api('/me/video.watches?video=<?php echo urlencode(get_permalink($post->ID));?>&access_token='+window.myValue,'post',function(response) {
if (!response || response.error) {
alert(response.error.message);
} else {
alert(response.id);
postID=response.id;
showStuff('removeTimeline');
}
});
}else{
$('.thumbnail img').attr('src',"http://ballvids.com/images/off2.png");
}
}
});
}else{
alert('inside2');
$('.thumbnail img').attr('src',"http://ballvids.com/images/off2.png");
window.facebooklogin = 'false';
}
}、真実);
ありがとう