如何使用 JSNI 从 GWT 创建一个新的 Javascript 对象?它没有在文档中列出。当我将所有 JS 移动到 .html 文件时它可以工作(但会导致另一个不相关的问题)。
Java 代码:
private static native void createPicker() /*-{
var picker = new $wnd.google.picker.PickerBuilder()
.enableFeature(google.picker.Feature.NAV_HIDDEN)
....
错误:
com.google.gwt.event.shared.UmbrellaException: 异常捕获: (ReferenceError) @com.onix.sdm.client.SDM_Mailer::createPicker()([]): google 未定义
从浏览器控制台:
> google
>Object {picker: Object}
参考:
http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html
HTML:
<script type="text/javascript">
function loadPicker() {
gapi.load('picker');
}
</script>
<script type="text/javascript" src="https://apis.google.com/js/api.js?onload=loadPicker"></script>