fb: serverfbml не будет отображаться в Opera и IE - PullRequest
1 голос
/ 12 июля 2010

Я задал тот же вопрос на форуме разработчиков Facebook, но по некоторым причинам я хочу опубликовать его здесь. Я надеюсь, что все в порядке.

У меня есть следующий фрагмент fb: serverfbml.

<fb:serverfbml id="invite_friends_form" style="width: 100%">
  <script type="text/fbml">
    <fb:fbml><p>Testing FBML rendering</p></fb:fbml>
  </script>
</fb:serverfbml>

<script>
    $(document).ready(function()
    {
        // Parse XFBML tags
        FB.XFBML.parse();
    });
</script>

Правильно отображается в Firefox и Chrome. Я на мгновение получил обычную анимацию загрузки Facebook, а затем на экране появилось предложение «Проверка визуализации FBML».

НО, когда я тестирую это в Opera 10 и Internet Explorer 8, это не работает. Я вижу анимацию загрузки Facebook, но она так и не закончилась. Когда я вижу свой сетевой монитор, я вижу запрос на http://www.facebook.com/plugins/serverfbml.php с моим ожидающим визуализации FBML, переданным в строке запроса.

Запрос уже выполнен с соответствующим ответом от Facebook, но анимация загрузки продолжается.

Кто-нибудь знает, в чем здесь может быть проблема?

Спасибо, Андрей.

Ответы [ 2 ]

1 голос
/ 30 ноября 2010

У меня была та же самая проблема в течение всего утра, и я наконец решил ее!:)

Добавить:

<div id="fb-root"></div>

... какое-то место внутри вашего тела.

Кроме того, добавьте xmlns: fb = "http://www.facebook.com/2008/fbml" в тег html,так что он читает:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">

Я собираюсь опубликовать весь мой код, чтобы вы могли сравнить:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
    <title></title>
</head>


<body style="margin:0px 0px 0px 0px;overflow:hidden;text-align:center;">

    <div id="fb-root"></div>

    <fb:serverFbml>
        <script type="text/fbml">
            <fb:fbml>
                <fb:request-form
                    method="POST"
                    type="jugar a Mahou Liga Chapas"
                    action="http://mahouligachapas.unusualwonder.com"
                    content='¿ Te echas un partido conmigo? 
                        <fb:req-choice url="http://apps.facebook.com/mahouligachapas" label="Sí" />
                        <fb:req-choice url="http://www.facebook.com" label="No" />' 
                >
                    <fb:multi-friend-selector actiontext="Invita a tus amigos a jugar a Mahou Liga Chapas"/>
                </fb:request-form>
            </fb:fbml>
        </script>
    </fb:serverFbml>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
    <script type="text/javascript" src="http://connect.facebook.net/es_ES/all.js"></script>

    <script type="text/javascript">
        $(document).ready(function () {
            FB.init({ appId: 'XXXXXXXXXXX', status: true, cookie: true, xfbml: true });
        });

    </script>

</body>
</html>
0 голосов
/ 03 февраля 2011

У меня была такая же проблема. Но в случае, если параметр действия содержит "(двойная кавычка). Когда я добавил косые черты проблема исчезла.

...