codename-one-uwp浏览器执行问题

xlpyo6sf  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(362)

我正在尝试使用以下代码获取codenameone中browsercomponent的html内容:

browserComponent.executeAndReturnString("document.documentElement.outerHTML")

这在模拟器、ios和android上都适用。在uwp应用程序中,executeandreturnstring永远不会返回。下面是一个可运行的示例(用于新项目的start方法):

BrowserComponent browserComponent = new BrowserComponent();
browserComponent.addWebEventListener(BrowserComponent.onLoad, evt -> {
    Log.p("onLoad start", Log.INFO);
    Log.p(browserComponent.executeAndReturnString("document.documentElement.outerHTML"), Log.INFO);
    Log.p("onLoad end", Log.INFO);
});

Form form = new Form("Browser Contents Test", new BorderLayout());
form.add(BorderLayout.CENTER, browserComponent);
form.show();

browserComponent.setURL("http://www.codenameone.com");

在uwp应用程序中,这是日志中的所有内容:

[EDT] 0:0:1,837 - Codename One revisions: 7dd4e7d08b3442d90959477ee52a5ae8c4361b29

[EDT] 0:0:1,891 - onLoad start

我试过AsynchronousBrowserComponent.execute方法,它们也做同样的事情。有人能帮我吗?

ql3eal8s

ql3eal8s1#

executeandreturnstring问题现已修复。另外一个问题是,对返回字符串的长度有限制。这个问题还没有解决,但可以使用如下代码:

browserComponent.executeAndReturnString("document.documentElement.outerHTML.substring(0, 1000)")

相关问题