Нажатие кнопки ничего не делает, но почему.Вызов метода Java через Javascript, не работающий в симуляторе
Нажмите на кнопку, чтобы напечатать «[Javascript Logger] Aha».
Здесь код:
public class FormNotCalled extends Form {
public FormNotCalled() {
setTitle("FormNotCalled");
setLayout(new BorderLayout());
setScrollable(false);
BrowserComponent browserComponent = new BrowserComponent();
browserComponent.setPage(
"<html lang=\"en\\\">\n" +
" <body >\n" +
" <button onclick=\"logger.log('Aha');\">Click me</button>\n" +
" </body>\n" +
"</html>",
null);
getContentPane().add(BorderLayout.CENTER, browserComponent);
JavascriptContext javascriptContext = new JavascriptContext(browserComponent);
JSObject logger = (JSObject)javascriptContext.get("{}");
logger.set("log", new JSFunction() {
public void apply(JSObject self, Object[] args) {
String msg = (String)args[0];
Log.p("[Javascript Logger] " + msg);
}
});
javascriptContext.set("window.logger", logger);
}
}
Возможно, вам нужен установленный регистратор перед вызовом setPage? –