彩票走势图

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

翻译|使用教程|编辑:李显亮|2020-11-13 10:32:49.203|阅读 508 次

概述:在JxBrowser 7.12中,Chromium引擎已升级到版本84。此Chromium版本在源代码中有一些重大更改,本文将为你介绍都有都有哪些变化。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

JxBrowser是将基于Chromium的浏览器与Java应用程序集成,以处理和显示HTML5、CSS3、JavaScript、Flash等。

近日,JxBrowser v7.12发布啦!在JxBrowser 7.12中,Chromium引擎已升级到版本84。此Chromium版本在源代码中有一些重大更改,这些更改会影响JxBrowser的公共API。在本升级指南中,描述了7.12中删除了哪些API,以及应该使用哪些替代方法。

点击下载最新版JxBrowser

覆盖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感兴趣,可以了解具体授权价格和使用机制。

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP