1

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>
4

1 に答える 1

2

パッケージ名のプレフィックスが付いた非常に多くの変数がありました。接頭辞を付ける必要があるのは新しいオブジェクトだけではなく、すべての変数も同様です。

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

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

全体的に大きな痛み、行番号がないなどですが、それが彼らが私にお金を払っている理由です。

于 2013-10-04T23:33:47.957 に答える