0

私は GWT アプリケーションを持っており、ナビゲーション、ブラウザ履歴などに「GWT アクティビティと場所」を使用しています。今度は、Google プラス ボタンを組み込んで、ユーザーが特定の記事を 1 つおすすめできるようにします。最初のスクリーンショットでわかるように、フッターにも Google プラス ボタンがあります。これは、ホスト ページ (HTML ページ) に直接含まれており、最初のページの読み込み時に表示されます。2 つ目は記事ウィジェットの一部であるため、javascript を介してホスト ページに追加されます。これは最初のページ読み込みでは表示されませんが、ページをリロードすると表示されます (F5 を押した後の 2 番目のスクリーンショットを参照)。その問題の解決策はありますか?

Facebookのいいねボタンでも同じ問題がありました。HTML5版からiFrame版に切り替えることで解決できました。Googleプラスボタンの別のバージョンもありますか?

これが私のコードです。まず、Google プラス スクリプトを含めます。

<script type="text/javascript">
  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>

このコードはボタンを追加します:

<div class='g-plusone' data-annotation='inline' data-width='300' data-href='http://gwt-prime.appspot.com/fb/ArticleSection/4'></div>

スクリーンショット:

ページの最初の読み込み -> ボタンがありません:

ここに画像の説明を入力

ページのリロード後 -> ボタンが表示されます:

リーフ

リンク例

このページを自分で確認するには、こちらをご覧ください: live example

4

1 に答える 1

2

サイトが完全にレンダリングされたら、次の jsni スニペットを呼び出してみてください。

/**
 * Render any Google+ button inside of the container identified by containerId.
 */
static public native void go(String containerId) /*-{
    $wnd.gapi.plusone.go(containerId);
}-*/;
于 2013-10-05T01:24:29.453 に答える