問題タブ [jsni]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
896 参照

gwt - JSNI:$wnd.google.maps.LatLng はコンストラクターではありません: 挿入された Google マップ v3 API を呼び出せません

JSNI で Google マップを使用しようとしていますが、次のコード スニペットで例外がスローされます。

com.google.gwt.core.client.JavaScriptException: (TypeError): $wnd.google.maps.LatLng は com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:248) のコンストラクタではありません。 ....

ここで何が問題なのかを指摘するのを手伝ってくれる人はいますか?

0 投票する
3 に答える
3306 参照

javascript - Javascript関数からJSNI関数を呼び出す方法は?

html の発信者ボタンのサンプルは次のとおりです。

そして、ここに私が試したいくつかの機能がありますが、それらは機能しませんでした:

しかし、Callee() を呼び出すことはできません。どうすればこれを達成できますか?つまり、JavaScript から JSNI 関数を呼び出す方法を教えてください。

助けていただければ幸いです。

0 投票する
1 に答える
1970 参照

java - gwt jsni document.documentElement.style.height

このリンクhttps://stackoverflow.com/a/9100406/942113からgwtjsniを使用してコードを呼び出そうとしています 。

私の方法は次のようになります

しかし、私がそれを呼ぶとき、何も起こりません。

私の質問:document.documentElement.style.heightgwt jsniでの値を設定することはできませんか?

0 投票する
1 に答える
1049 参照

unit-testing - 単体テストで SmartGWT クラスを使用するにはどうすればよいですか?

SmartGWT Web アプリケーションでは、ドメイン オブジェクトをサーバーからクライアントに渡し、(GWT シリアライゼーションを介して) 戻します。クライアント側で DynamicForm または GridList のデータを表示/編集するには、データをRecord (またはListGridRecord ) に変換し、編集後にドメイン オブジェクトに戻す必要があります。

この変換メソッドの単体テストを書きたいのですが、レコードgetAttributesetAttributeメソッドがJSOHelper.getAttribute/によって実装されているため、JUnit での単純な試みは失敗します。これは、JavaScript で JSNI によってJSOHelper.setAttribute宣言および実装された静的メソッドであるため、クライアントでのみ使用できます。 nativeJavaScript にコンパイルされた場合。

JUnit からこれらのメソッドを使用すると、ネイティブ メソッドが実装されていないため、UnsatisfiedLinkError が発生します。

これらのクラスをテストする方法はありますか?

これらの重要なメソッドは、単純な HashMap (または、属性の順序が重要な場合は LinkedHashMap ) によって簡単に実装できます。実際、JavaScript オブジェクトは、メソッドではなくデータ部分のみを見れば、それに関するものです。したがって、JavaScript の代わりに Java 実装を使用して、一部の選択された SmartGWT クラス (主に JSOHelper) の代替実装を提供することだけを考えています。

しかし、私は本当にこの問題を抱えた最初の人ですか? 私は単に愚かすぎて既存の解決策を見つけることができませんか?

0 投票する
1 に答える
296 参照

gwt - JSNIをオンフライで生成する

いくつかのJavaオブジェクトがあり、そのすべてのメソッドをカスタムjavascriptオブジェクトに公開したいと思います。したがって、リフレクションを介してすべてのJavaオブジェクトメンバーをループし、次のようなjsniコードを生成するのが合理的であるようです:$ wnd.myjso.func1 = function(){@ package.MyJavaObject :: func1()}など。 。その後、生成されたjsniを実行して、ブラウザのウィンドウにjavascriptオブジェクトを作成する必要があります。それを実装する方法は?

0 投票する
1 に答える
4501 参照

java - JavaScriptオーバーレイタイプ(GWT)を使用してコールバックをラップするにはどうすればよいですか?

Display Objectクラスでは、イベントを除いてすべてをラップしています。パターンがわからないので、例が必要です。

JavaScriptでは、次のようにオブジェクトのコールバックを作成します。

マウスイベントパラメータをラップしました:

表示オブジェクトは同じオーバーレイパターンを使用します。Javaでコールバックを記述してJSOに渡すにはどうすればよいですか?可能であれば例を挙げてください。:)

0 投票する
1 に答える
9561 参照

javascript - GWT で JSNI を実装する方法

GWT の経験はありますが、JSNI や Javascript については何も知りません。現在、JSNI を数日間探していますが、GWT プロジェクトに JSNI を実装する方法を理解できません。

GWT プロジェクトのどこに、どのように JavaScript ファイルを追加しますか? どこに JavaScript を記述しますか?

そして、Java/GWT から JavaScript メソッドを呼び出したい

以下は、JavaScript 警告ダイアログを表示する JSNI メソッドをコーディングする方法の簡単な例です。

しかし、このコードを GWT プロジェクトのどこに追加しますか

新しいプロジェクト「HelloJSNI」を作成し、クラス HelloJSNI.java にこのコードを追加しました。書き込みを行っていますか?

「hello JSNI」は表示されますか? ありがとう

0 投票する
1 に答える
728 参照

gwt - 手書きのJavaScriptからインスタンスメソッドを呼び出す際の問題

誰かが以下のコードの何が悪いのかを助けることができますか(SOで尋ねられた同様の質問への回答に基づいて):

問題は、JavascriptがjsFunctionを見つけられないことです。Javascriptコードのalert(jsFunction)は「undefined」を返します。

ありがとう。

編集:ええと、1時間後:私がthat.@com...戻ってきただけでよいことがわかりました!

0 投票する
2 に答える
1082 参照

javascript - GWT と JSNI。関数が定義されているかどうかを確認する

htmlにJavaScript関数があります

そしてJSNI:

問題は、最初のスクリプトが常に定義されているとは限らないことです。関数が定義されているかどうかを確認するにはどうすればよいですか?

前もって感謝します!