GWT:如何使用 XFBML“喜欢/发送”动态页面按钮

发布于 2024-11-05 11:06:04 字数 374 浏览 1 评论 0 原文

如何在 GWT 应用程序中正确渲染 facebook Like/Send 按钮对?

这里有一些问题:

  1. 我正在使用 UIBinder。 这个问题的解决方案 问题至少让我明白 标签。
  2. 喜欢/发送按钮需要 动态添加到 DOM(例如 例如,当用户导航到 我的应用程序中的特定页面状态)。
  3. 被“点赞”的页面实际上是一个 GWT 风格的“哈希”URL,链接到 的特定(可书签)状态 我的应用程序。

How can I properly render a facebook Like/Send button pair in a GWT app?

There are a few issues at play here:

  1. I'm using UIBinder. The solution to this
    question
    at least lets me emded
    the tags.
  2. The like/send buttons need to be
    added to the DOM dynamically (for
    example, when the user navigates to
    a particular page state in my app).
  3. The page being "liked" is actually a
    GWT-style "hash" URL, linking to a
    particular (bookmarkable) state of
    my app.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

早乙女 2024-11-12 11:06:04

看看 Like.java 中的 FacebookGWT。它演示了一个创建 fb:like 元素的小部件。它还不支持“发送”选项,但添加起来很容易。

将 fb:like 元素添加到 DOM 后,您需要再次解析 XFBML:

private native void parseXFBMLJS(final Element element) /*-{
  $wnd.FB.XFBML.parse(element);
}-*/;

原始答案:

通过 GWT 执行此操作的最简单方法是支持在 GWT 应用程序中使用历史记录。历史记录通过在 URL 上使用哈希值 (#) 来实现。 GWT 内置支持通过 History 类读取哈希值并侦听历史记录更改。您还可以在应用程序内向应用程序的其他部分启动历史记录更改。

为了更明确地了解应用程序的哪一部分被引用,您可以在历史记录条目甚至参数中使用斜杠(例如#name=value&name2=value2

Take a look at Like.java in FacebookGWT. It demonstrates a widget that creates a fb:like element. It doesn't support the "send" option yet, but that's easy enough to add.

After you've added the fb:like element to the DOM, you need to parse XFBML again:

private native void parseXFBMLJS(final Element element) /*-{
  $wnd.FB.XFBML.parse(element);
}-*/;

Original Answer:

The easiest way to do this via GWT is to support the use of History in your GWT app. History works by using hashes (#) on the URL. GWT has built-in support for reading the hashed values via the History class, and listening for History changes. You can also initiate History changes within your app to other parts of your app.

To be more explicit as to which part of your app is referenced, you can use slashes in the history entry or even parameters (e.g. #name=value&name2=value2)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文