我正在开发一个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时,它无法正常工作;
我该怎么办? 请帮帮我
先谢谢
答案 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();
}-*/;