2010-03-06 5 views
0

facebook의 fb : dialog 태그를 사용하여 사용자가 입력 할 수있는 간단한 팝업 양식을 표시하고 싶습니다. 그러나 자바 스크립트를 사용하여 해당 대화 상자를 표시하려고합니다 (ondone 핸들러에서 아약스 요청).'facebook fb : dialog'를 보여주고 있습니다.

이 가능합니까? 어둠 속에서 찌르다가 시도한 document.getElementById ('dialog_id'). show()하지만 show()는 메소드가 아닙니다.

FBJS Dialog 클래스가 있지만 간단한 경고/스타일 확인 대화 상자를 만들 때만 사용할 수 있다고 말할 수 있습니다. 누군가 그 안에 임의의 콘텐츠를 넣는 방법을 알고 있다면 내 문제를 해결할 수도 있습니다.

답변

2

FBJS 대화 상자 안에 임의의 내용을 넣을 수 있습니다.

첫째, FB에 어떤 임의의 FBML을 저장 : JS-문자열 태그 :

<fb:js-string var="whatever"> 
<!-- HTML/fbml here --> 
</fb:js-string> 

을 다음 fbjs 할에 :

(new Dialog()).showMessage('title',whatever); 
+0

감사 :

여기에 관련 예입니다! (나는 방금 fb의 dev 위키에서 답을 찾았고 내 응답을 게시하고 있었다). – emh

+0

iframe 앱에서이 작업을 수행 할 수 있습니까? 나는 이것이 FBML에서 작동한다는 것을 알고있다 – Tihom

+0

@Tihorn, FBJS는 FBML 안에 만 존재한다. FBML 외부에서는 jQuery와 같은 원하는 대화 라이브러리를 사용할 수 있습니다. http://jqueryui.com/demos/dialog/ –

1

이 그것을 알아 냈다.

에 묻혀있는 http://wiki.developers.facebook.com/index.php/FBJS/Examples/Dialogs이 답입니다.

기본적으로 양식 내용으로 <fb:js-string> 요소를 만든 다음 해당 문자열을 showChoice() 메서드를 사용하여 대화 상자의 내용으로 지정합니다.

<a href="#" id="dialog_body" onclick="var dialog = new Dialog().showChoice('Important Dialog', dialog_color, 'Okay', 'Nevermind'); 
dialog.onconfirm = function() { 
    var color = document.getElementById('dialog_color_select').getValue(); 
    document.getElementById('dialog_body').setStyle({background: color}); 
}; 
return false;"> 
A dialog that changes your colors...</a><br /> 

<fb:js-string var="dialog_color"> 
<b>What color would you like this set to be?</b><br /> 
<select id="dialog_color_select"> 
<option value="transparent">Default</option> 
<option value="blue">Blue</option> 
<option value="red">Red</option> 
<option value="yellow">Yellow</option> 
</select> 
</fb:js-string> 
+0

업데이트 된 링크 : http://developers.facebook.com/docs/fbjs/#dialogs – bcoughlan