js で Google プラス +1 ボタンを動的に追加する方法はありますか? ページには共有する多くの URL があり、それらは AJAX によって取得されるため、これが必要です。そのため、必要な URL を取得したら、ページのいくつかの場所で「+1」を生成したいと考えています。
IE8 を除くすべてのブラウザーで動作するテスト コードを作成しました (IE7 は Google ではまったくサポートされていません)。
<div class="googlePlusBtn"></div>
<a href="#" class="addGooglePlus">Click me!</a>
<script type="text/javascript">
jQuery(function(){
jQuery('.googlePlusBtn').html('<g:plusone annotation="inline"></g:plusone>');
jQuery('a.addGooglePlus').click(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);
return false;
})
})
</script>
手伝っていただけませんか?
UPD:修正済み。解決策は次のとおりです。
<div id="googlePlusBtn"></div>
<a href="#" class="addGooglePlus">Click me!</a>
<script type="text/javascript">
jQuery(function(){
var po = document.createElement('g:plusone');
var s = document.getElementById('googlePlusBtn');
s.appendChild(po);
jQuery('a.addGooglePlus').click(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);
return false;
})
})
</script>
そのため、create document メソッドを jQuery から clean Javascript に変更しました。IE8はそれで動作します!