Java浏览器集成控件JxBrowser v12升级指南

覆盖HTTP请求头部

v7.11

在Chromium 84中,BeforeSendHeadersCallback和BeforeSendProxyHeadersCallback回调已被删除。

network.set(BeforeSendHeadersCallback.class, params ->        BeforeSendHeadersCallback.Response.override(modifiedHeaders));network.set(BeforeSendProxyHeadersCallback.class, params ->        BeforeSendProxyHeadersCallback.Response.override(modifiedHeaders));

v7.12

要在HTTP头信息被发送到Web服务器之前覆盖它们,请使用以下API。

network.set(BeforeStartTransactionCallback.class, params ->    BeforeStartTransactionCallback.Response.override(modifiedHeaders));

资源筛选

在Chromium 84中删除了LoadResourceCallback回调。

v7.11

network.set(LoadResourceCallback.class, params -> {    if (params.resourceType() == ResourceType.IMAGE) {        return LoadResourceCallback.Response.cancel();    }    return LoadResourceCallback.Response.load();});

v7.12

使用BeforeUrlRequestCallback回调来过滤资源,如下所示。

network.set(BeforeUrlRequestCallback.class, params -> {    if (params.urlRequest().resourceType() == ResourceType.IMAGE) {        return BeforeUrlRequestCallback.Response.cancel();    }    return BeforeUrlRequestCallback.Response.proceed();});

缓存

v7.11

删除了被废弃的HttpCache.clearDiskCache(Runnable)方法。

httpCache.clearDiskCache(() -> {    // HTTP cache has been cleared.});

v7.12

使用以下API代替。

CompletableFuturefuture = httpCache.clear();

鼠标轮

v7.11

以下com.teamdev.jxbrowser.ui.event.MouseWheel方法已被删除。

  • isHorizontalScroll()
  • scrollbarPixelsPerLine()
  • unitsToScroll()

v7.12

使用 deltaX() 和 deltaY() 方法替代。

键盘活动

访问com.teamdev.jxbrowser.dom.event.KeyEvent中的密钥代码的方式已经改变。因此,删除了无用的com.teamdev.jxbrowser.dom.event.KeyEvent.keyCode()方法。

v7.11

要访问DOM KeyEvent的密钥代码,你可以使用以下API。

document.addEventListener(EventType.KEY_PRESS, event -> {    if (event instanceof KeyEvent) {        KeyEvent keyEvent = (KeyEvent) event;        System.out.println("DOM KeyEvent: keyCode=" + keyEvent.keyCode());    }}, false);

v7.12

在这个版本中,改进了这个功能,所以现在它的工作方式接近于DOM API的工作方式。

document.addEventListener(EventType.KEY_PRESS, event -> {    if (event instanceof KeyEvent) {        KeyEvent keyEvent = (KeyEvent) event;        DomKeyCode keyCode = keyEvent.domKeyCode();        String character = keyEvent.character();        System.out.println("DOM KeyEvent: keyCode=" + keyCode  + ", character=" + character);    }}, false);

现在,你可以得到预期的按键代码和当前所选语言中的按键字符的字符串表示。

加载URL

v7.11

以下的导航方法已被删除。

  • loadUrlAndWait(String, Timestamp)
  • loadUrlAndWait(LoadUrlParams, Timestamp)

v7.12

使用以下方法代替:

  • loadUrlAndWait(String url, Duration timeout)
  • loadUrlAndWait(LoadUrlParams params, Duration timeout)


是TeamDev官方友好合作伙伴,如果您对jxbrowser感兴趣,可以联系在线客服了解具体授权价格和使用机制。
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月10日
下一篇 2020年10月10日

相关推荐

发表回复

登录后才能评论