私は Javascript に変数を持っています。これはtrue
、false
フルスクリーン モードのオンとオフをそれぞれ切り替えます。GWT
ここで、コードでその変数にアクセスし、それに応じていくつかのアクションを実行したいと考えています。誰かがそれを行う方法を教えてもらえますか? Googleのドキュメントからは理解できませんでしたJSNI
...
質問する
5592 次
2 に答える
7
JavaScriptの場合
var mybool = true;
MyClassクラスのJSNIメソッド;
public static native boolean getNativeVariableType(String jsVar)/*-{
return eval('$wnd.' + jsVar);
}-*/;
最後にGWTで使用します;
boolean getFormJs = Myclass.getNativeVariableType("mybool");
@dodootがポイントを上げたので、これreturn !!$wnd[jsVar]
を試してridoffeval
関数の副作用を得ることができます。
@manoloが言ったように、gwtQueryを使用している場合は、単純に書くことでより便利になります$(window).prop("mybool")
。
于 2013-01-28T14:17:05.897 に答える
7
好奇心として、このような単純なことについては、gwt オーバーレイ クラスに既に存在する特定の jsni メソッドを利用することで、jsni メソッドの記述を避けることができます。
したがって、あなたの場合、ウィンドウオブジェクトを取得して要素にキャストし、Element
クラスのゲッターでそのプロパティを読み取ることができます:
Element $wnd = (Element)Document.get().<Element>cast().getPropertyObject("defaultView");
boolean mybool = $wnd.getPropertyBoolean("mybool");
プロジェクトに gwtquery ライブラリを追加すると、コードははるかに簡単になります。
boolean mybool = $(window).prop("mybool");
于 2013-03-01T12:57:51.390 に答える