我已经看到了一些在其他平台上执行此操作的技术,但想知道是否有人有干净的方法来执行此操作。
我的应用程序有一个主机 HTML 文件,并使用标准 MVP/Places/Activity 来解析哈希片段。它为不同的元素显示各种类似的按钮。FB(使用 lint 工具确认)只会读取主机页面的静态 HTML,所以我需要在它返回给请求者之前对其进行操作(在 GWT 中解决这个问题是没有意义的)。
我使用 Guice-y com.google.inject.servlet.ServletModule 所以我可以创建类似的东西:
serve("/fb/*").with(MetaTagAdder.class);
我可以使用 /fb/* 作为 Like 按钮的 URL。因此,吐出托管页面的 HTML(根据需要添加动态元标记)。然后 *.nocache.js 文件直接跳转到 EntryPoint.OnModuleLoad()。
这似乎有点笨拙。有人有更好的主意吗?