如何在GWT离线应用程序中包含外部Javascript

时间:2013-02-07 10:59:36

标签: javascript gwt browser-cache html5-appcache

我有一个GWT(好吧,GXT)应用程序,它使用外部JavaScript库为我的应用程序添加功能。我的应用程序也必须脱机工作,这就是我的问题。

我知道将文件添加到公共文件夹将使我们的GWT应用程序可以访问它们,但这在离线使用时不起作用。 GWT编译我的应用程序以使其脱机可用而没有问题,但它不包括外部JavaScript库。

因此,每当我在应用程序中工作并达到需要所述库的位置时,浏览器将尝试GET请求,因为尚未加载库并且不会可靠地保留在浏览器的缓存中。

有没有办法将库添加到我的应用程序,以便它将与我的GWT应用程序一起缓存?该库由几个文件夹,JS文件,图像,CSS等组成。我唯一的想法是动态创建一个Appcache Manifest,它将所有文件转储到浏览器缓存中。在这种情况下,我害怕打破GWT离线功能。

1 个答案:

答案 0 :(得分:3)

是的,您可以在编译时生成清单。只需使用扩展com.google.gwt.core.ext.linker.AbstractLinker。

的链接器

参见例如this example manifest linker 或者查看Writing a GWT Linker 或参见this stackoverflow thread

我这样做是为了包含谷歌字体并生成一个清单,该清单只包含该特定语言排列的文件。