我使用GWT這個元素成功地添加和顯示HTML代碼在我的web應用程序。Facebook按鈕不顯示在GWT Element.setInnerHTML()內部。顯示鳴叫按鈕而不風格
然而,當我嘗試添加「臉譜喜歡按鈕」的代碼,它根本不顯示:
Element adContainerDiv = getView().getFooter().getElement();
adContainerDiv.setInnerHTML("<div class='fb-like' data-href='http://www.example.com' data-send='false' data-layout='button_count' data-width='100' data-show-faces='false' data-action='recommend' data-font='arial'></div>");
此代碼爲<body>
的開頭:
<div id="fb-root"></div>
<script>(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_GB/all.js#xfbml=1&appId=1265448483273";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<!-- END Facebook button function -->
「Tweet按鈕」代碼會出現類似的情況,其中顯示的是純文本鏈接,沒有任何樣式:
Element adContainerDiv = getView().getFooter().getElement();
adContainerDiv.setInnerHTML("<a href=\"https://twitter.com/share\" class=\"twitter-share-button\">Tweet</a>");
右後<body>
我有這樣的代碼(我試過,以及對setInnerHTML但仍然不能正常工作:
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
這是它看起來在DOM爲<body></body>
之間的分享Tweet按鈕的方式:
<script>(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_GB/all.js#xfbml=1&appId=13592647473";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div style="top:0PX;height:60PX;width:1000PX;position: relative;" id="ur39jgf03kd">
<a href="https://twitter.com/share" class="twitter-share-button"
data-via="example_com">Tweet</a></div>
任何想法?
我們不需要定義CSS類。 Facebook爲你做這個。我的代碼在除了setInnerHTML之外的其他地方工作。謝謝。 – Arturo