Много XFBML Facebook Как кнопки медленные?

См. http://running.ph/

Он просто навешивает хром на некоторое время, пока все кнопки загружаются. Я читал, используя IFrame, избегает этого, но я действительно хочу использовать XFBML JS для всех дополнительных функций, которые вы получаете с ним, например, отслеживание комментариев, комментариев и кнопки отправки.

Есть ли у кого-нибудь решение? Я уверен, что я не единственный сайт с кнопками 10+, как на нем.

Ответ 1

ah Я нашел ответ, проверив, что делает Techcrunch/AOL. Вы загружаете XFBML в качестве прокрутки пользователя.

1.) Не разбирайте XFBML на FB.init или загрузке JS SDK

FB.init({
  appId  : APP_ID,
  xfbml  : false
});

2.) Загрузите jQuery и jquery.sonar.js - это содержит специальные события прокрутки и прокрутки

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://artzstudio.com/files/jquery-boston-2010/jquery.sonar/jquery.sonar.js"></script>

3.) Код jQuery для синтаксического анализа XFBML в событии scrollin (украден из Techcrunch)

jQuery(document).ready(function($) {
    var $shareWidgets = $( '.share-widget' );
    $shareWidgets.bind( 'scrollin', { distance: 500 }, function() {
        var $share = $( this );
        if (!$share.data( 'initFB' ) && window.FB) {
            $share.data('initFB', 1);
            $share.unbind( 'scrollin' );
            FB.XFBML.parse( $share[0] );
        }
    });
});

4.) оберните теги XFBML в класс под названием "share-widget"

<span class="share-widget"><fb:like></fb:like></span>

и вуаля! не больше dang XFBML замедляет ваши страницы. Конечно, это помогает только тогда, когда на вашей странице много тэгов XFBML. Возможно, у большинства блогов.

Спасибо AOL!

См. презентацию SlideShare AOL с помощью jQuery: http://www.slideshare.net/daveartz/jquery-in-the-aol-enterprise, где они говорят об этой и других оптимизациях, которые они используют.

Ответ 2

Sharrre загружает ваши общие кнопки только при необходимости, вы можете использовать все подобные функции кнопок и иметь встроенное отслеживание Google Analytics.

Ответ 3

У меня тоже были проблемы с этим.

Это ошибка API социальной сети. Если вы посмотрите в Chrome на вкладку NET, вы увидите, что на странице 252 запроса! (Facebook, g +, Twitter, ваши ресурсы)

Это часть проблемы

loadScriptAsync('//connect.facebook.net/en_US/all.js');

он загружает все сценарии, возможно, несколько раз без кеширования. Я думаю, что нет шансов избежать этого с вашей стороны.

OT: Зачем вам нужен офлайн-доступ и доступ к SMS при регистрации на вашем сайте? Я думаю, что никто не захочет дать вам его/ее номер телефона и/или автономный доступ.

Ответ 4

Вот быстрый чистый фрагмент javascript, который поможет с дросселированием нескольких кнопок:

fooobar.com/info/522572/...