Поддерживает ли API кнопок Google Plus Internet Explorer 8

Кто-нибудь знает, поддерживается ли кнопка Google Plus в IE8? Этот вопрос предполагает, что он не поддерживает IE7: Кнопка Google +1 не работает в IE7 ?. Кроме того, вопрос ведет на страницу (http://support.google.com/accounts/bin/answer.py?hl=ru&answer=1151309), из чего следует, что IE8 поддерживается. Интересно, что когда я захожу на эту страницу в Chrome, я получаю кнопку G+, а когда захожу в IE8, ее нет.

Есть предположения?


person tollmanz    schedule 17.01.2012    source источник


Ответы (3)


Существует одна странная версия IE8 (только версия 8.0.7600.16385), которую трудно найти, и она вызывает ошибку рендеринга с рендерингом кнопки Plus1. Вот код, который вам нужно будет использовать, чтобы обойти эту проблему:

    var gPlusOne = document.createElement('g:plusone'); 
    gPlusOne.setAttribute("size", "medium");
    gPlusOne.setAttribute("annotation", "bubble");
    gPlusOne.setAttribute("width", "120");
    googlePluginDiv[0].appendChild(gPlusOne);

Обратите внимание, что я не использую jQuery, поскольку jQuery не любит элемент с именем g:plugone, но его можно отобразить с помощью document.createElement.

person DMCS    schedule 19.01.2012
comment
Большое спасибо ДМС! К сожалению, я смог заставить это отображаться только в браузерах, отличных от IE8. Я не проверял это за пределами моего конкретного случая, поэтому я не могу точно сказать, работает это или нет. - person tollmanz; 19.01.2012
comment
Приведенный выше код отображается в большинстве браузеров (кроме очень старых) в Windows и Mac OS. Он прошел обширное стороннее тестирование QA, чтобы убедиться, что он работает. Так что я не уверен, почему это не работает для вас. - person DMCS; 19.01.2012
comment
Спасибо ДМСС! Я проведу еще несколько собственных испытаний. Я начинаю подозревать, что на сайте, над которым я работаю, есть какой-то конфликтующий код. Случайно, у вас нет ссылки на ошибку рендеринга в IE8 (версия 8.0.7600.16385) или это было из вашего собственного тестирования? Если есть статья, с удовольствием почитаю. В любом случае... спасибо за большую помощь! - person tollmanz; 19.01.2012
comment
ошибки не помню. Но вы можете смоделировать это, так как у вас есть браузер IE8, который дает сбой (у меня нет, но команда QA сделала это), и вы можете сделать чистую html-страницу только с плагином на ней, закодированным в обычном режиме без обходного пути, чтобы увидеть. - person DMCS; 19.01.2012
comment
Это именно тот тест, который я сделаю. Я уже сделал это со стандартной реализацией G+ и с нетерпением жду возможности протестировать его с вашим кодом (теперь, если бы я только мог остановить бесконечный поток электронных писем). Еще раз спасибо! Я сообщу о своих результатах. - person tollmanz; 19.01.2012
comment
Извините за задержку! Спасибо еще раз за помощь! - person tollmanz; 05.02.2012

Для меня ваше решение не сработало (в указанной версии ie8...). Однако оно сработало с использованием синтаксиса HTML5. Я нашел его здесь http://chovy.dyndns.org/social2.html.

Я воспроизвожу приведенное ниже решение на случай, если хостинг однажды выйдет из строя:

<div class="g-plusone" data-size="standard" data-count="true" [or data-whatever=...]></div>

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

person haltabush    schedule 08.02.2012

Отлично работает в IE8 и IE9... но не в IE7
Share Demo: JQuery Iframe

  </head>
  <body>
  <div id="gplusID"></div>

    <script type="text/javascript">
    var gdiv = document.getElementById('gplusID');
    var gPlusOne = document.createElement('g:plusone'); 
    gPlusOne.setAttribute("size", "medium");
    gPlusOne.setAttribute("annotation", "bubble");
    gPlusOne.setAttribute("width", "120");
    gdiv.appendChild(gPlusOne);
      window.___gcfg = {
        lang: 'en-US'
      };

      (function() {
        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>  

  </body>

</html>
person Manoj Singh    schedule 21.11.2013