如何在GWT中使用第三方库,使用" document"

时间:2017-10-11 15:40:18

标签: gwt

我想在GWT中使用第三方JS库。我知道您可以使用GWT JSNI - http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html

正如该文档中所述,您需要使用$doc而不是document。您如何使用使用document的第三方库?

这不是重复,因为它具体询问第三方库中使用的关键字document,而不是一般如何在GWT中使用JS。

2 个答案:

答案 0 :(得分:4)

确保将JS库注入主html页面,而不是gwt iframe。然后,您可以确定windowdocument表示您希望它们的含义。

这可以通过简单地在html文件中创建<script>标记来完成,或者使用ScriptInjector.fromUrl方法,在其上调用.setWindow(ScriptInjector.TOP_WINDOW)

然后,在你的JSNI中(请不要编写JSNI,改为使用JsInterop),引用带有$wnd前缀的库。在JsInterop中,只需为要与之交互的对象建模,并正确标记命名空间,编译器将根据需要插入$wnd

答案 1 :(得分:1)

使用Js Interop,您可以编写一个js库的接口,然后在GWT中使用它,因为它是Java。

很可能有人已经为你编写了一个界面(如果它是一个常见的lib)。

有关Interop的更多信息:http://www.luigibifulco.it/blog/en/blog/gwt-2-8-0-jsinterop