我有一个小部件,取决于一些外部JS文件,我想懒惰加载所有这些外部资源.我已经使用代码分割来懒惰加载涉及窗口小部件的GWT代码,但使用脚本标记在gwt.xml中定义的JS文件无论如何都是加载的,这是不可取的.
是否有按需加载这些外部资源的标准GWT方式?我可以使用原始的JS自己做,但我宁愿不花时间在这也.
解决方法
我想你会想看看com.google.gwt.core.client.ScriptInjector类.
From the javadocs:
Dynamically create a script tag and attach it to the DOM.
…
Usage with script loaded as URL:
ScriptInjector.fromUrl("http://example.com/foo.js").setCallback( new Callback<Void,Exception>() { public void onFailure(Exception reason) { Window.alert("Script load Failed."); } public void onSuccess(Void result) { Window.alert("Script load success."); } }).inject();