2012-01-18 2 views
0

내 웹 앱에 stream.publish 기능을 추가하려고하는데 '피드'대화 상자에 문제가 있습니다.FB.ui 대화 상자 (iframe)가 보이지 않습니다.

내 코드는 다음과 같다 :

 var obj = { 
      method: 'feed', 
      display: 'iframe', 
      name: data.name, 
      link: data.link, 
      picture: data.picture, 
      caption: data.name, 
      description: data.description, 
      message: data.message, 
      actions: [{ 
       name: data.actions.name, 
       link: data.actions.link 
      }], 
      user_message_prompt: '' 
     } 

     var resp = FB.ui(obj, function(response) { 
      alert("DONE"); 
     }); 

내가 대신 '은 iframe'의 '팝업'을 사용하면 작동 할 수 있지만 내가 원하는 게 아니에요.

내 화면에 피드가 나타나지 않는 이유는 무엇입니까 ???

감사합니다.

+0

이 코드를 어디에 사용합니까? 캔버스 응용 프로그램, 사이트, 페이지 탭? –

답변

1

당신이 iframe을 지정하면 Dialogs documentation

에서 설명한 바와 같이, 유효한 access_token이 있어야합니다.

iframe : 라이트 박스에 대화 상자를 표시이 동작이 발생할 수있는 다른 문 부부가
이 보인다 : 유효한 access_token을 얻으려면, Authentication guide

업데이트를 참조하십시오 현재 페이지의 iframe. 클릭 재킹 (clickjacking)의 위험이 있기 때문에 일부 대화 상자에서만 허용되며 유효한 access_token을 전달해야합니다.

그리고이 하나. 또한 약 BUG #246637628719849 열려있다

페이스 북 캔버스 페이지에

, 대화 상자 만은 iframe 응용 프로그램에 대한 지원과 함께 작동하지 않는 "대화 보내기", 또는하지 않을 수 있습니다 페이지 탭에 iframe (로 관련).

갱신 2 : 나는 대부분의 경우에서 잘 작동하지 않는 대화 상자 iframe의 구현시 이후 display를 지정하지 않고 사용자 FB.ui을했습니다 내 모든 애플리케이션에서 실제로
, 그리고없이 페이스 북 JS-SDK는하려고 ...

갱신 3을 가장 적합한 디스플레이 모드를 사용
OP (그는 주석에 명시된) 대화 상자가

보이지 원인, 숨겨진 다른 DOM 요소에 fb-root했다
+0

유효한 access_token을 가지고 있는데, obj 객체에 아무 것도 추가되지 않으면 아무 것도 추가하지 않습니다. 다른 아이디어? –

+0

실제로 나는 다른 div 안에 display : none이 추가되어 있으므로 iframe이 뒤에 숨겨져있는 fb-root div가 있습니다. $ –

+0

@AlbertoSheinfeld, 귀하의 의견에 대한 답변으로 내 답변을 업데이트했습니다. 그것을 받아들이지 마라, 우리는 단지 그것을 상기시켜 준다. ... –

관련 문제