我为javascript可视化库(dygraphs)编写了一个GWT库
这是一个使用JavascriptObject
和JSNI
来调用dygraphs代码的简单包装器。
到目前为止,我已将dygraphs.js
脚本包含在我的GWT模块xml文件中,它只是工作
精细。
但是,当我最近尝试使用SuperDevMode
时,我不得不切换到不允许脚本标记的xsiframe linker
。
使用跨站点链接器在GWT库中包含外部JavaScript脚本的最佳实践是什么?
我能想到的最好的事情是在TextResource
中将Javascript文件包含为ClientBundle
,然后使用ScriptInjector来包含它?
这是推荐的方法还是有更好的方法?
我必须确保在使用我的GWT包装器的应用程序访问它之前,dygraphs.js已完全加载。
答案 0 :(得分:1)
将您的外部JavaScript作为TextResource包含并自己注入是确保其加载您的应用程序的一种非常好的方法。 (并且您正在保存额外的http请求,同时受益于GWT缓存机制)
如果您在瘦客户端上运行,您可能希望将DOM中的实际注入与解析分开,如果您从上到下注入带有注释的textresource,然后再将其删除,则可以轻松完成。