1

你如何在 GWT PagingScrollTable 中实现 Twitter Hovercards?

new Label("@ded")例如,当我添加到Horizo​​ntalPanel 时,Hovercard 链接可以正常工作。但是,当我将“@ded”放入 PagingScrollTable 行时,Twitter JavaScript 函数似乎并不适用。

我是一个 JavaScript 新手。

应 Igor 的要求,这里有更多细节。根据 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>

然后 Hovercards 像上面描述的那样工作,除了在 GWT PagingScrollTable 中。例如,我实现了一个返回“@ded”AbstractColumnDefinition的方法。getCellValue()“@ded”出现在表格中,但脚本似乎无法识别它——“ded”部分没有下划线,因为它在表格之外(Twitter 文档显示了一个工作 Hovercards 的示例) .

用网络检查器查看它,我看到它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>

当我对表进行分页并尝试将第二个脚本作为 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)
    ...
4

0 回答 0