Скорость одной кнопки Google Plus. Загружать при наведении

Я хотел бы узнать ваше мнение о проблеме и решении, которое у меня есть с кнопкой Google Plus One (и любым другим социальным виджетом).

У нас есть сайт с высокой посещаемостью, который работает быстро и плавно (время загрузки менее 1 секунды). При попытке реализовать кнопку Google Plus мы увидели, что время загрузки увеличилось до абсурда.

Google болтает о времени загрузки, и они все еще делают виджет медленным?

Нам нужны социальные виджеты, но скорость загрузки имеет решающее значение для наших пользователей и SEO.

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

Я хотел бы услышать минусы для этого подхода или, может быть, даже лучшее решение.

Использование события mouseover на теле для загрузки социальных виджетов. Это работает, но я не уверен, что это приемлемо.

http://www.webpagetest.org показывает ту же скорость, что и до реализации кнопок.

Использование jquery:

    <div id="testcase"></div>

        <script type="text/javascript">

        $(document).ready(function() {
            $('body').mouseover(function() {

                $('body').unbind();
// google html
                $('#testcase').html('<g:plusone size="medium" annotation="inline"></g:plusone>');
    // Google code 
                var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
                po.src = 'https://apis.google.com/js/plusone.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
            });
        });
        </script>

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


person Paolo_Mulder    schedule 26.12.2011    source источник
comment
Почему бы не использовать загрузку? Я не думаю, что вы можете быть уверены, что onmouseover работает одинаково во всех браузерах.   -  person Gerben    schedule 26.12.2011
comment
Я согласен с раздуванием виджета, мне удалось поднять сайт до 98 и 98 (PageSpeed ​​/ YSlow) и трех HTTP-запросов - и ОДНА кнопка раздувает его до 13 HTTP-запросов и баллов ниже 90 + дополнительная секунда или две. во время загрузки.   -  person Mike Hudson    schedule 27.12.2011
comment
Мы загружаем информацию из социальных сетей при наведении курсора сюда: www2.highpoint.edu/index.php   -  person Teddy    schedule 12.01.2012


Ответы (2)


Столкнулся с теми же проблемами и сделал что-то вроде этого:

function loadPlusOne() {
  $.getScript("https://apis.google.com/js/plusone.js", function () {
    gapi.plusone.render ("plusdiv", {"size": "medium", "count": "true", "expandTo": "top", "href": "http://mysite.com"});
  });
}

Функция запускается через несколько миллисекунд после загрузки окна.

person adeneo    schedule 26.12.2011
comment
Не могли бы вы объяснить больше, как я могу использовать его на своей html-странице? - person NullPointer; 14.07.2013
comment
@NullPointer - Извините, думал, что это очевидно, что-то вроде этого -› jsfiddle.net/uWd4T - person adeneo; 14.07.2013
comment
Большое спасибо. Поддерживает ли он языковой атрибут? - person NullPointer; 14.07.2013
comment
Он поддерживает все, что поддерживает плюс один API? - person adeneo; 14.07.2013

Существует небольшая альтернатива выполнению этого при загрузке — вы можете сделать это при наведении контейнера. Положительным моментом является то, что он не будет загружаться медленно, и вы можете иметь кнопки собственного дизайна, чтобы они соответствовали дизайну страницы. Он также не будет загружаться для людей, которые не беспокоятся о них. Это может даже дать вам дополнительную аналитическую информацию. Обратной стороной является то, что от зависания до загрузки у вас остается то же время загрузки. Можно было бы беспокоиться, что времени, которое требуется для их загрузки после наведения, достаточно, чтобы они перестали щелкать.

Techcrunch делает то же самое на своей домашней странице, хотя и в контейнере всей новости. Имейте в виду, их сайт в любом случае ужасно медленный.

person LeonardChallis    schedule 06.01.2012