У меня есть следующий код для динамической загрузки фрагмента XFBML в приложение Facebook IFRAME.
HTML:
<div id="fragment" style="display:none">
<fb:serverfbml id="fragmentfbml">
</fb:serverfbml>
Код JQuery:
<script type="text/javascript">
function loadFragment()
{
jQuery.ajax(
{
url: "xfbml_fragment.php", // contains the
type: "POST",
dataType: "html",
cache: "false",
success: function (data)
{
jQuery("#fragmentfbml").html(data);
FB.XFBML.parse();
jQuery("#fragment").css("display","block");
}
});
}
</script>
Вызов AQAX jQuery работает каждый раз, но вызов FB.XFBML.parse () работает только один раз. Я добавил обратный вызов в FB.XFBML.parse () с console.log () (см. Ниже) и убедился, что он выполняется только при первом вызове.
FB.XFBML.parse(
document.getElementbyId("fragment"),
function( { console.log("parse called"); } )
);
Это известное поведение FB.XFBML.parse () (конечно, это не так в документации FB Javascript SDK ) или я просто ошибаюсь здесь?