Google Plus Скорость одной кнопки. Загрузить при наведении курсора - PullRequest
6 голосов
/ 26 декабря 2011

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

У нас есть сайт с высоким трафиком, который работает быстро и без сбоев (менее 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>

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

Ответы [ 2 ]

5 голосов
/ 26 декабря 2011

Испытывали те же проблемы и сделали что-то вроде этого:

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"});
  });
}

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

1 голос
/ 06 января 2012

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

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

...