【发布时间】:2018-02-28 20:26:29
【问题描述】:
我这里有一些原生 JS 测试代码 (mydialog.js)
var MyDialog = {
foo : function()
{
console.log("foo");
}
};
我使用 GWT 使用以下代码进行注入:
ScriptInjector.fromUrl("mydialog.js").setCallback(new Callback<Void, Exception>()
{
@Override
public void onFailure(Exception reason)
{
Window.alert("Dialog Injection Failed!" + reason);
}
@Override
public void onSuccess(Void result) {}
}).inject();
}
然后,我尝试在这里设置一个 JSInterop 类:
@JsType(isNative=true, namespace=JsPackage.GLOBAL, name="MyDialog")
public class MyDialog
{
public static native void foo();
}
问题在于namesoace JsPackage.GLOBAL 不准确。注入的代码并不存在于全局命名空间下,而是由 GWT 生成的代码,并且可能在我相信的 GWT iframe 中。我需要什么命名空间?
换句话说,这应该是什么:
...namespace=???...
【问题讨论】:
标签: javascript java gwt