2013-04-30 2 views
0

내 페이스 북 응용 프로그램에서 사용자 친구에게 앱 요청을 보내기위한 대화 상자 (iframe)를 표시하기 위해 페이스 북의 javascript sdk (코드가 페이스 북에서 제공하는 코드)를 사용하고 있습니다. 파이어 폭스와 크롬에서는 iframe이 제대로 작동하지만 ie에서는 작동하지 않습니다. 여기에 IE에 대한 display-popup 값을 설정하여 사람들에 의해 처리되는 버그
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

사용되는 코드입니다. 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

고맙습니다. –

관련 문제