【发布时间】:2016-11-30 13:36:02
【问题描述】:
单击按钮什么也没做 - 但为什么。
点击按钮应该会打印出“[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 调用之前?
标签: codenameone