0

この方法で Google プラス コードを配置しても、IE8 やその他のバージョンで機能しない理由はありますか? ただし、Firefoxでは問題なく動作します。

ライブデモ: http://jsfiddle.net/9zqsZ/

<script>

var socialString = '<g:plusone size="tall"></g:plusone>';
document.write(socialString);

   //google plus share button
  (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>

私はそれを外部ファイルに入れようとしています。奇妙なことに、document.write では機能せず、html に直接配置すると機能します。その場合、どのように実装しますか?

4

1 に答える 1

1

次のようなことができます。

<script>
    if (navigator.appVersion.indexOf("MSIE") != -1) {
      var socialString = '<g:plusone size="tall"></g:plusone>';
      var newEle = document.createElement(socialString);
      document.body.appendChild(newEle);
    }
    else {
       var socialString = '<g:plusone size="tall"></g:plusone>';
       document.write(socialString);
    }

   //google plus share button
  (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>
于 2012-05-04T09:08:29.550 に答える