2013-02-07 100 views
3

我有一個使用外部JavaScript庫向我的應用程序添加功能的GWT(well,GXT)應用程序。我的應用程序也必須脫機工作,這是我的問題。如何在GWT離線應用程序中包含外部Javascript

我知道,將文件添加到公用文件夾將使他們可以通過我的GWT應用程序訪問它們,但這在脫機使用的情況下不起作用。 GWT編譯我的應用程序使其可以在沒有問題的情況下脫機使用,但它不包括外部JavaScript庫。

因此,無論何時我在應用程序內部工作並達到需要所述庫的點時,瀏覽器都會嘗試GET請求,因爲庫尚未加載並且不會保留在瀏覽器的緩存中。

有沒有辦法將庫添加到我的應用程序,以便它將與我的GWT應用程序一起緩存?該庫由幾個文件夾,JS文件,圖像,CSS等組成。我唯一的想法是動態創建一個Appcache Manifest,用於轉儲瀏覽器緩存中的所有文件。在這種情況下,我害怕打破GWT離線功能。

回答

3

是的,你可以在編譯時生成清單。只需使用擴展com.google.gwt.core.ext.linker.AbstractLinker的鏈接器即可。

見例如this example manifest linker 或看Writing a GWT Linker 或看到this stackoverflow thread

我這樣做,包括谷歌的字體,併產生一個清單,將只包含特定語言排列文件。

+0

謝謝!鏈接器正是我所期待的。需要調整我的應用程序一點,以包括一切,但它工作正常,據我所知。 – codemo

相關問題