如何在gwt主页的主页面中传递对javascript链接的引用

时间:2014-08-18 06:02:09

标签: java javascript gwt

我正在开发一个GWT项目,我想使用另一个用javascript编写的javascript项目。在这一刻,我在这个主题中引用它的javascript库:

 <script type="text/javascript"  src="http://192.168.10.100:7001/mapviewer/fsmc/jslib/oraclemaps.js"></script>

出于某种原因我想使用动态Ip(我不在主页中硬编码);

我在我的项目中复制了javascript,但是当你看到它部署在weblogic应用服务器上时,当我在我的项目中复制javascript时,它无法正常工作;

我该怎么办? 请帮帮我

先谢谢

2 个答案:

答案 0 :(得分:0)

如果要动态更改源,可以使用GWT ScriptInjector

答案 1 :(得分:0)

正如其他答案所述,请使用ScriptInjector。 但是将脚本添加到顶部窗口并使用回调来等待加载脚本,然后再调用JSNI:

public void callMapViewer(String ip) {
    ScriptInjector.fromUrl("http//"+ip+"/mapviewer/fsmc/jslib/oraclemaps.js‌​").setWindow(ScriptInjector.TOP_WINDOW).setCallback(new Callback<Void, Exception>() {
        @Override
        public void onFailure(Exception e) {

        }

        @Override
        public void onSuccess(Void aVoid) {
            callJSNI();
        }
    });
}

public native void callJSNI() /*-{
    $wnd.fonctionJS();
}-*/;