GWT PagingScrollTableにTwitterホバーカードをどのように実装しますか?
たとえば、HorizontalPanelに追加new Label("@ded")
すると、ホバーカードリンクは正常に機能します。ただし、「@ ded」をPagingScrollTable行に配置すると、TwitterJavaScript関数が適用されないようです。
私はJavaScriptの初心者です。
イゴールの要求に応えて、ここにいくつかの詳細があります。Twitterのドキュメントによると<head>
、HTMLファイルのにいくつかのスクリプトを入れました。
<script src="http://platform.twitter.com/anywhere.js?id=myId&v=1"
type="text/javascript"></script>
<!-- Twitter @Anywhere Hovercards -->
<script type="text/javascript">
twttr.anywhere(function (T) {
T.hovercards();
});
</script>
次に、GWT PagingScrollTableを除いて、ホバーカードは上記のように機能します。たとえば、AbstractColumnDefinition
そのgetCellValue()
メソッドが「@ded」を返すように実装しました。「@ded」はテーブルに表示されますが、スクリプトでは認識されないようです---「ded」の部分はテーブルの外にあるため下線が引かれていません(Twitterのドキュメントにはホバーカードの動作例が示されています) 。
Webインスペクターで見ると、次のようにnew Label("@ded")
表示されます。
<div class="gwt-Label">
"@"
<a class="twitter-anywhere-user" href="http://twitter.com/ded">ded</a>
</div>
しかし、私のテーブルの最後の行に表示されます
<tr style="background:#fafafa;" class>
<td class>@ded</td>
<td>...</td>
</tr>
</tbody>
</table>
また、テーブルをページングして2番目のスクリプトをJSNIとして呼び出そうとすると、ログにエラーが見つかりましたが、行がキャッシュされたデータからロードされた場合のみです。
04:15:51.280 [ERROR] Uncaught exception escaped
com.google.gwt.core.client.JavaScriptException: (ReferenceError): Can't find variable: twttr
line: 3
sourceId: 4675433328
expressionBeginOffset: 209
expressionCaretOffset: 214
expressionEndOffset: 214
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:195)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120)
...