2013-04-30 59 views
0

在我的Facebook应用程序中,我使用facebook javascript sdk(由facebook提供的代码)来显示用于向用户朋友发送应用程序请求的对话框(iframe)。 iframe在firefox和chrome中正常工作,但不能在ie中工作。下面是使用
Facebook的请求对话框不显示在IE上

FB.getLoginStatus(function(response) { 
       if (response.status === 'connected') 
       { var accessToken = response.authResponse.accessToken; 
        FB.ui({method: 'apprequests', 
          message: 'Checking App Request', 
          to: '<?php $i=0; foreach($friends as $id){if($i==50) break; echo($id.","); $i++;}?>', 
          title: 'Request', 
          display: 'iframe', 
          access_token: accessToken 
          }, requestCallback); 
       } 
       }); 

回答

1

代码这是由人们通过IE设置displaypopup值处理的错误。 Gist with example

// Detect browser and set the compatible Dialog display type 
div = document.createElement('div'); 
div.innerHTML = '<!--[if IE]><i></i><![endif]-->'; 
ie = div.getElementsByTagName('i').length === 1; 
if (ie) { 
    display = 'popup'; 
} else { 
    display = 'iframe'; 
} 

// Make the call 
FB.ui({ 
    method: "apprequests", 
    message: message, 
    display: display, 
    to: facebook_friend_id 
}, function(response) { 
    facebook_request_id = response.request_ids[0]; 
}); 
+0

非常感谢..我检查了它和它的工作.. :) – 2013-04-30 13:38:20

相关问题