繁体   English   中英

如何从GWT JSNI创建新的Javascript对象?

[英]How do you create a new Javascript object from GWT JSNI?

如何使用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>

有很多很多以包名称为前缀的变量。 不仅是必须加上前缀的新对象,还包括所有变量,例如

var view = new $ wnd.google.picker.DocsView($ wnd.google.picker.ViewId.FOLDERS);

.enableFeature($ wnd.google.picker.Feature.NAV_HIDDEN)

总的来说,这是一个很大的痛苦,没有电话号码,等等,但这就是他们付我钱的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM