8
マニュアルから実際にJavaからJS関数を実行する方法を理解できませんか?JSNIでGWT JavaからJavaScript関数を実行するにはどうすればいいですか?
例えば、私は私のhtmlページに機能を持っている:
<script type="text/javascript" language="javascript">
function foo() {
alert('Foo!');
}
</script>
次のモジュールが動作するだけで二そのうち2つのボタンを示していますことを、それはマニュアルに言われ
public class Test_GoogleWeb_JSNI_01 implements EntryPoint {
public void onModuleLoad() {
Button fooButton = new Button("Foo!");
fooButton.addClickHandler(new ClickHandler(){
public void onClick(ClickEvent event) {
fooRunner();
};
});
HTML fooButtonNative = new HTML();
fooButtonNative.setHTML("<input type='button' value='Foo Native' onclick='foo()'>");
RootPanel rootPanel = RootPanel.get();
rootPanel.add(fooButton);
rootPanel.add(fooButtonNative);
}
public static native void fooRunner() /*-{
foo();
}-*/;
}
をネストされたフレーム内で実装されたネイティブ関数。状況を説明します。しかし、JS関数を実行する方法は?
更新1 次のような作業です。
のJava:
public static native void fooRunner() /*-{
$doc.fooRunner();
}-*/;
JS:
<script type="text/javascript" language="javascript">
document.fooRunner = function foo() {
alert('Foo!');
}
</script>
は、より良い方法はありますか?
オブジェクトを返すjavascryptメソッドを呼び出すことはできますか?そのオブジェクトを使用しますか? –