私は現在、Facebook キャンバス アプリを開発中ですが、IE8/7 と JS SDK では修正できないような問題に遭遇しました。
ユーザーの現在のステータスをテストしようとしています。たとえば、接続済み、承認されていません。これは Chrome、Firefox では問題なく動作しますが、IE では起動していないようです。これが私のFacebook JSコードです
window.fbAsyncInit = function() {
FB.init({
appId: 'xxxxxxxxxxxx',
channelUrl : '//www.mydomain.co.uk/channel.html', // Channel File
cookie: true,
xfbml: true,
oauth: true,
status: true
});
FB.getLoginStatus(function(response){
if (response.status === 'connected'){
alert('The status of the session is: ' + response.status);
$('a#remove-app').click(function(){
//var request = response.authResponse.accessToken;
//console.log(request);
$("#dialog:ui-dialog").dialog( "destroy" );
$("#dialog-confirm").dialog({
height:140,
modal: true,
position: [236,101],
buttons: {
"Yes": function() {
if(request){
$.ajax({
type: 'get',
dataType: 'jsonp',
url: 'https://graph.facebook.com/me/permissions',
data: 'method=delete&access_token=' + request,
success: function(response) {
top.location.href = 'http://facebook.com';
}
});
}
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
return false;
});
} else if( response.status === 'not_authorized') {
var oauth_url = 'https://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=xxxxxxxxx';
oauth_url += '&redirect_uri=' + encodeURIComponent('https://apps.facebook.com/kaplan-acca-news/');
oauth_url += '&scope=email'
window.top.location = oauth_url;
} else {
//alert('user not logged in');
var oauth_url = 'https://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=xxxxxxxx';
oauth_url += '&redirect_uri=' + encodeURIComponent('https://apps.facebook.com/kaplan-acca-news/');
oauth_url += '&scope=email'
window.top.location = oauth_url;
}
}, true);
$('a#invite-a-friend').click(function(){
sendRequestViaMultiFriendSelector();
});
// Multi friend selector for Facebook
function sendRequestViaMultiFriendSelector() {
FB.ui({method: 'apprequests',
message: 'Come and join the app on Facebook',
});
}
function requestCallback(response) {
alert(response);
}
};
// Load the SDK Asynchronously
(function() {
var e = document.createElement('script');
e.async = true;
e.src = '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
この問題を解決するためのアイデアがあれば、感謝します。