私が開発しているサイトにいくつかのウィジェットがあり、それらをすべて JavaScript ファイルから非同期にロードするので、DOM が終了するのを妨げません。
たとえば、Digg ウィジェットと Buzz ウィジェットでこれを行ったところ、問題なく動作しました。
// Buzz Share
function buzzShare() {
$jQ('.sharebox').append('<div class="widget"><a title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-count"></a></div>');
$jQ.getScript('http://www.google.com/buzz/api/button.js');
}
// Digg Share
function diggShare() {
$jQ('.sharebox').append('<div class="widget"><a class="DiggThisButton DiggMedium"></a></div>');
$jQ.getScript('http://widgets.digg.com/buttons.js');
}
新しい Google +1 ウィジェットに関しては、同じロジックは機能しません。
// PlusOne Share
function plusOneShare() {
$jQ.getScript('http://apis.google.com/js/plusone.js');
$jQ('.sharebox').append('<div class="widget"><div class="g-plusone" data-size="tall" data-count="true"></div></div>');
}
HTML5 タグと<g:plusone></g:plusone>
. どちらも機能しません。
開始したばかりのサービスのドキュメントは次のとおりです: http://code.google.com/apis/+1button/
また、スクリプトを HTML に直接埋め込むと、次のことができることにも気付きました。
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
{"parsetags": "explicit"}
</script>
{"parsetags": "explicit"}
パラメータを jQuery で使用する方法はあります.getScript
か?
PS また、plusOneShare 関数内の 1 行目と 2 行目を切り替えてみましたが、どちらも機能しませんでした。
ありがとう!