GWT nocache.jsの上に置くこのスクリプトがあります
<head>
<script type="text/javascript" language="javascript">
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<script type="text/javascript" language="javascript" src="app/app.nocache.js"></script>
</head>
<body>
<div id="fb-root"></div>
<div id="rootPanel"></div>
</body>
そして、私のサイトのページの1つ(私はErrai-UIを使用しています)
これが追加されます:
HTMLPanel likebox = new HTMLPanel("<div class='fb-like-box' " +
"data-href='http://www.facebook.com/platform' data-width='595' " +
"data-show-faces='true' data-stream='true' data-header='true'></div>");
likepanel.add(likebox);
私が直面している問題は、GWT アプリケーションで、このパネルが挿入されたページにサイトが表示されると、DOM を見ても Facebook のようなボックスがレンダリングされないことです<div class='like-box' ...>
。DOM ツリーに存在します。 .
機能するのは、現在のページで (DevMode で) ページ全体を更新する必要があることです: 例:/mysite#PageWithFBDiv
また、ページ更新のトリックは DevMode でのみ機能しますが、コンパイル時には失敗します。