Java浏览器集成控件JxBrowser 11月新版发布!可运行Chromium 84

JAVA应用程序浏览器集成控件JxBrowser更新至7.12, 现在可以在Chromium 84上运行,并且在使用DOM和JavaScript-Java Bridge API时提供了许多新选项,欢迎下载体验。

新增功能

Chromium 84

在这个Chromium构建中,一些与JxBrowser封装的功能已经被移除或改变,所以这个JxBrowser版本在公共API中引入了一些突破性的变化。

可信事件

com.teamdev.jxbrowser.dom.event.Event接口已经扩展了isTrusted()方法,允许检测事件是由用户操作产生的,还是通过EventTarget.dispatchEvent()创建/修改并发送的。

MouseEvent:页面位置

com.teamdev.jxbrowser.dom.event.MouseEvent接口已经扩展了pageLocation(),允许获取事件发生时鼠标光标在文档坐标系中的位置。

MouseEvent:页面位置

允许从com.teamdev.jxbrowser.dom.event.KeyEvent中获取键码的功能已经被重新设计为与DOM KeyboardEvent类似。我们为DOM键码引入了DomKeyCode枚举,并扩展了com.teamdev.jxbrowser.dom.event.KeyEvent的方法,允许获取DOM键码和一个代表与物理键相关联的UTF-8字符的字符串,如果它有打印表示的话。例如

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);

JS可访问的Java类

JavaScript-Java Bridge API已经扩展了com.teamdev.jxbrowser.js.JsAccessibleClasses,它允许告诉人们特定类型的Java实例可以从JavaScript中访问。例如

JsAccessibleClasses.add(ArrayList.class, LinkedList.class);

Cookie SameSite

增加了SameSite cookie属性支持。

改进功能

  • 通过了在离屏渲染模式下检查 “MovementX和MovementY在鼠标事件中的变化 “的JS测试。
  • Frame.isMain()方法不再向Chromium引擎发送请求,以找出这个框架是否是浏览器中的主(顶层)框架。现在,这个信息会在创建一个Frame时提供,并缓存起来供进一步调用。
  • 现在不允许运行JxBrowser Chromium二进制文件中附带的Chromium可执行文件。JxBrowser所使用的Chromium二进制文件应该只供JxBrowser使用,用户不应该能够直接运行它并将其作为普通的Web浏览器应用程序使用。
  • 允许将JavaFX BrowserView嵌入到继承JFXPanel的容器中。例如
      JFXPanel fxPanel = new MyJFXPanel();  BrowserView view = BrowserView.newInstance(browser);  fxPanel.setScene(new Scene(new BorderPane(view), 600, 600));  private static final class MyJFXPanel extends JFXPanel {}

  • TextFinder Javadoc已经扩展了更多的细节,包括文本搜索的工作方式,如何突出显示匹配,如何检测第一个匹配等等。
  • 默认情况下,Chromium会在二进制文件所在的目录下创建debug.log文件。在某些环境下,对这个目录的访问可能是被禁止的,操作系统可能会报告这种尝试。从这个版本开始,Chromium将不再创建debug.log文件,相应的日志信息将被重定向到JxBrowser日志中。
  • 现在,库中使用的Chromium构建是使用is_official_build=true标志构建的。官方Chromium构建会禁用Google Chrome官方构建中禁用的实验性学习配置。其中有一个实验性的功能在以前的JxBrowser版本中被启用了,就是页面冻结,可能会冻结网页并停止JavaScript的执行。因此,该库使用的Chromium引擎在内部功能的启用/禁用方面变得更接近官方Chromium构建。
  • 触发Windows审计失败的功能被禁用。这个问题是由于Chromium从Windows API中调用LogonUser()函数,并向其传递了一个空的密码。我们通过禁用试图使用空密码登录的功能来解决这个问题。这个变化不影响任何其他Chromium功能。

Bug修复

  • Chromium渲染进程崩溃时不显示 “Aw, snap“页面。
  • 在Windows上的离屏渲染模式下,JavaFX在7.9中引入的破损渲染。
  • 在Linux下,在硬件加速渲染模式下,隐藏和显示嵌入BrowserView的JFrame后不显示网页内容。
  • 离屏渲染模式下忽略了HTML5拖拽事件中的空数据味道,导致部分HTML5 DnD事件根本无法工作。
  • 离屏渲染模式下从文件系统拖动文件到Swing BrowserView实例时出现NullPointerException错误。
  • 在离屏渲染模式下,在显示主舞台后,用嵌入式BrowserView实例显示JavaFX场景时,出现NullPointerException错误。
  • CookieStore没有保存带有未指定SameSite属性的Cookie。
  • 当在PDF浏览器中右击时,ShowContextMenuCallback没有被调用。
  • 在使用NVidia GeForce 1650和430.64驱动版本的Linux上,离屏渲染不工作。
  • JavaScript-Java Bridge功能不能调用标有@JsAccessible注解的Java方法,如果有其他方法与之同名。
  • 当引擎实例在Incognito模式下运行时,拼写检查器字典没有被配置。
  • 在macOS上SWT的硬件加速渲染模式下,打印预览对话框的渲染中断。
  • 在macOS上SWT的离屏渲染模式下,打印预览对话框不显示。
  • 在Windows和Linux上的硬件加速渲染模式下,在网页上右击Flash时,默认的Swing BrowserView上下文菜单不可见。
  • 在macOS上,浏览器无法调整到小于300px的大小。
  • EventType.DOUBLE_CLICK的DOM事件监听器从未被调用。
  • 在离屏渲染模式下,EnterMouseCallback和ExitMouseCallback没有被调用。在Windows和Linux的硬件加速渲染模式下,EnterMouseCallback无法被调用,因为它被Chromium引擎忽略了。
  • 在离屏渲染模式下,SWT BrowserView组件在Eclipse的Part on tab开关中不可见。
  • 在SWT中打印当前加载的网页为PDF时,默认保存文件名错误。
  • 在禁用Chromium流量的情况下,在已加载网页的输入栏中输入一些文本时,拼写检查器初始化失败。
  • 在Windows的离屏渲染模式下,自定义CSS光标模糊。
  • 在Windows的硬件加速渲染模式下,在SplitPane中添加/删除JavaFX BrowserView时出现黑色闪烁。
  • 在Windows的离屏渲染模式下,当显示/隐藏BrowserView时,随机出现黑色矩形闪烁。
  • 注入到JavaScript中的Java对象中标有@JsAccessible注解的方法在关闭Browser时被多调用一次。
  • 通过window.close()JavaScript函数关闭Swing BrowserView弹出式实例时出现的IndexOutOfBoundsException错误。
  • 当加载一个SSL证书无效的HTTPS网页时,ShowNetErrorPageCallback回调没有被调用。
  • 在离屏渲染模式下,不能将焦点设置为位于不同域的IFRAME内的HTML输入字段。
  • 恢复了对Firebase云消息的支持。
  • v7.8之后重新引入了macOS和Windows上的Widevine功能。
  • 在离屏渲染模式下,不同的鼠标移动事件的MouseEvent.moveX和MouseEvent.moveY属性应该是不同的。
  • macOS上mach_port功能相关的JNI中出现多个错误导致JVM崩溃。


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

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

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

相关推荐

发表回复

登录后才能评论