問題タブ [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.
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) のコンストラクタではありません。 ....
ここで何が問題なのかを指摘するのを手伝ってくれる人はいますか?
javascript - Javascript関数からJSNI関数を呼び出す方法は?
html の発信者ボタンのサンプルは次のとおりです。
そして、ここに私が試したいくつかの機能がありますが、それらは機能しませんでした:
しかし、Callee() を呼び出すことはできません。どうすればこれを達成できますか?つまり、JavaScript から JSNI 関数を呼び出す方法を教えてください。
助けていただければ幸いです。
java - gwt jsni document.documentElement.style.height
このリンクhttps://stackoverflow.com/a/9100406/942113からgwtjsniを使用してコードを呼び出そうとしています 。
私の方法は次のようになります
しかし、私がそれを呼ぶとき、何も起こりません。
私の質問:document.documentElement.style.height
gwt jsniでの値を設定することはできませんか?
unit-testing - 単体テストで SmartGWT クラスを使用するにはどうすればよいですか?
SmartGWT Web アプリケーションでは、ドメイン オブジェクトをサーバーからクライアントに渡し、(GWT シリアライゼーションを介して) 戻します。クライアント側で DynamicForm または GridList のデータを表示/編集するには、データをRecord (またはListGridRecord ) に変換し、編集後にドメイン オブジェクトに戻す必要があります。
この変換メソッドの単体テストを書きたいのですが、レコードgetAttribute
とsetAttribute
メソッドがJSOHelper.getAttribute
/によって実装されているため、JUnit での単純な試みは失敗します。これは、JavaScript で JSNI によってJSOHelper.setAttribute
宣言および実装された静的メソッドであるため、クライアントでのみ使用できます。 native
JavaScript にコンパイルされた場合。
JUnit からこれらのメソッドを使用すると、ネイティブ メソッドが実装されていないため、UnsatisfiedLinkError が発生します。
これらのクラスをテストする方法はありますか?
これらの重要なメソッドは、単純な HashMap (または、属性の順序が重要な場合は LinkedHashMap ) によって簡単に実装できます。実際、JavaScript オブジェクトは、メソッドではなくデータ部分のみを見れば、それに関するものです。したがって、JavaScript の代わりに Java 実装を使用して、一部の選択された SmartGWT クラス (主に JSOHelper) の代替実装を提供することだけを考えています。
しかし、私は本当にこの問題を抱えた最初の人ですか? 私は単に愚かすぎて既存の解決策を見つけることができませんか?
gwt - JSNIをオンフライで生成する
いくつかのJavaオブジェクトがあり、そのすべてのメソッドをカスタムjavascriptオブジェクトに公開したいと思います。したがって、リフレクションを介してすべてのJavaオブジェクトメンバーをループし、次のようなjsniコードを生成するのが合理的であるようです:$ wnd.myjso.func1 = function(){@ package.MyJavaObject :: func1()}など。 。その後、生成されたjsniを実行して、ブラウザのウィンドウにjavascriptオブジェクトを作成する必要があります。それを実装する方法は?
java - JavaScriptオーバーレイタイプ(GWT)を使用してコールバックをラップするにはどうすればよいですか?
Display Objectクラスでは、イベントを除いてすべてをラップしています。パターンがわからないので、例が必要です。
JavaScriptでは、次のようにオブジェクトのコールバックを作成します。
マウスイベントパラメータをラップしました:
表示オブジェクトは同じオーバーレイパターンを使用します。Javaでコールバックを記述してJSOに渡すにはどうすればよいですか?可能であれば例を挙げてください。:)
javascript - GWT で JSNI を実装する方法
GWT の経験はありますが、JSNI や Javascript については何も知りません。現在、JSNI を数日間探していますが、GWT プロジェクトに JSNI を実装する方法を理解できません。
GWT プロジェクトのどこに、どのように JavaScript ファイルを追加しますか? どこに JavaScript を記述しますか?
そして、Java/GWT から JavaScript メソッドを呼び出したい
以下は、JavaScript 警告ダイアログを表示する JSNI メソッドをコーディングする方法の簡単な例です。
しかし、このコードを GWT プロジェクトのどこに追加しますか
新しいプロジェクト「HelloJSNI」を作成し、クラス HelloJSNI.java にこのコードを追加しました。書き込みを行っていますか?
「hello JSNI」は表示されますか? ありがとう
gwt - 手書きのJavaScriptからインスタンスメソッドを呼び出す際の問題
誰かが以下のコードの何が悪いのかを助けることができますか(SOで尋ねられた同様の質問への回答に基づいて):
問題は、JavascriptがjsFunctionを見つけられないことです。Javascriptコードのalert(jsFunction)は「undefined」を返します。
ありがとう。
編集:ええと、1時間後:私がthat.@com...
戻ってきただけでよいことがわかりました!
javascript - GWT と JSNI。関数が定義されているかどうかを確認する
htmlにJavaScript関数があります
そしてJSNI:
問題は、最初のスクリプトが常に定義されているとは限らないことです。関数が定義されているかどうかを確認するにはどうすればよいですか?
前もって感謝します!