0

在我的 facebook 应用程序中,我使用 facebook javascript sdk(由 facebook 提供的代码)来显示对话框(iframe),用于向用户朋友发送应用程序请求。iframe 在 Firefox 和 chrome 中正常工作,但在 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);
                }
                });
4

1 回答 1

1

这是人们通过设置IEdisplay的值来处理的错误。举个例子popup

// 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];
});
于 2013-04-30T06:44:01.630 回答