清晰的 API 与文档

提供易于使用的 API,并附有详尽的文档教程、以及数十个示例

及时支持

您将在一个工作日内在个人帮助中心帐户中收到 JxBrowser 工程师的回复。

成熟的专业技术团队

由在 Java 与 MS IE、Firefox、WebKit、Safari 和 Chromium 集成方面拥有 20 年经验的工程师组建。

受到全球 1,500 多家公司的信赖

这里仅列举几个:

容易集成

Java Swing
Compose
JavaFX
SWT
  • /.../
    • /*
    •  * 版权所有 2024,TeamDev。保留所有权利。
    •  *
    •  * 本软件源代码和/或二进制形式的再分发和使用,
    •  * 无论是否经过修改,都必须保留上述版权声明和以下免责声明。
    •  *
    •  * 本软件由版权持有人和贡献者“按原样”提供,并且不附带任何明示或暗示的担保,
    •  * 包括但不限于对适销性和特定用途适用性的暗示担保。
    •  * 在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、
    •  * 特殊、示例性或后果性损害(包括但不限于采购替代商品或服务;
    •  * 使用、数据、利润或业务中断的损失)负责,
    •  * 无论这些损害是否由使用本软件引起,无论是否已告知此类损害的可能性。
    •  * 无论是基于合同、严格责任还是侵权(包括疏忽或其他)的任何责任理论,
    •  * 都不得追究版权所有者或贡献者的责任。
    •  */
  •  
  • import ...
    • import static com.teamdev.jxbrowser.engine.RenderingMode.*;
    • import static javax.swing.SwingUtilities.invokeLater;
    •  
    • import com.teamdev.jxbrowser.engine.Engine;
    • import com.teamdev.jxbrowser.view.swing.BrowserView;
    • import java.awt.BorderLayout;
    • import javax.swing.JFrame;
  •  
  • /**...*/
    • /**
    •  * 这个示例演示了如何创建和初始化 Engine,创建 Browser,
    •  * 将其嵌入到一个 Swing 容器中,在 JFrame 中显示以及加载
    •  * https://html5test.teamdev.com
    •  */
  • public final class HelloWorld {...
    • public static void main(String[] args) {...
      • var engine = Engine.newInstance(HARDWARE_ACCELERATED);
      • var browser = engine.newBrowser();
      •  
      • invokeLater(() -> {
        •   var view = BrowserView.newInstance(browser);
        •  
        •   var frame = new JFrame("Swing BrowserView");
        •   frame.add(view, BorderLayout.CENTER);
        •   frame.setSize(700, 500);
        •   frame.setVisible(true);
        •  
        •   browser.navigation().loadUrl(
        •       "https://html5test.teamdev.com");
      • });
      }
    }
 
  • /.../
    • /*
    •  * 版权所有 2024,TeamDev。保留所有权利。
    •  *
    •  * 本软件源代码和/或二进制形式的再分发和使用,
    •  * 无论是否经过修改,都必须保留上述版权声明和以下免责声明。
    •  *
    •  * 本软件由版权持有人和贡献者“按原样”提供,并且不附带任何明示或暗示的担保,
    •  * 包括但不限于对适销性和特定用途适用性的暗示担保。
    •  * 在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、
    •  * 特殊、示例性或后果性损害(包括但不限于采购替代商品或服务;
    •  * 使用、数据、利润或业务中断的损失)负责,
    •  * 无论这些损害是否由使用本软件引起,无论是否已告知此类损害的可能性。
    •  * 无论是基于合同、严格责任还是侵权(包括疏忽或其他)的任何责任理论,
    •  * 都不得追究版权所有者或贡献者的责任。
    •  */
  •  
  • import ...
    • import androidx.compose.runtime.LaunchedEffect
    • import androidx.compose.runtime.remember
    • import androidx.compose.ui.unit.dp
    • import androidx.compose.ui.window.WindowState
    • import androidx.compose.ui.window.singleWindowApplication
    • import com.teamdev.jxbrowser.dsl.Engine
    • import com.teamdev.jxbrowser.dsl.browser.navigation
    • import com.teamdev.jxbrowser.engine.RenderingMode.OFF_SCREEN
    • import com.teamdev.jxbrowser.view.compose.BrowserView
  •  
  • /**...*/
    • /**
    •  * 此示例展示了如何在 Compose 应用程序中嵌入 BrowserView
    •  * 组件并加载一个网页。
    •  */
  • fun main() = singleWindowApplication(...
    • title = "Compose BrowserView",
    • state = WindowState(width = 700.dp, height = 500.dp),
  • ) {...
    • val engine = remember { Engine(OFF_SCREEN) }
    • val browser = remember { engine.newBrowser() }
    •  
    • BrowserView(browser)
    •  
    • LaunchedEffect(Unit) {...
      • browser.navigation.loadUrl(
      •     "https://links.teamdev.com/webglglobe")
      }
    }
 
  • /.../
    • /*
    •  * 版权所有 2024,TeamDev。保留所有权利。
    •  *
    •  * 本软件源代码和/或二进制形式的再分发和使用,
    •  * 无论是否经过修改,都必须保留上述版权声明和以下免责声明。
    •  *
    •  * 本软件由版权持有人和贡献者“按原样”提供,并且不附带任何明示或暗示的担保,
    •  * 包括但不限于对适销性和特定用途适用性的暗示担保。
    •  * 在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、
    •  * 特殊、示例性或后果性损害(包括但不限于采购替代商品或服务;
    •  * 使用、数据、利润或业务中断的损失)负责,
    •  * 无论这些损害是否由使用本软件引起,无论是否已告知此类损害的可能性。
    •  * 无论是基于合同、严格责任还是侵权(包括疏忽或其他)的任何责任理论,
    •  * 都不得追究版权所有者或贡献者的责任。
    •  */
  •  
  • import ...
    • import static com.teamdev.jxbrowser.engine.RenderingMode.*;
    •  
    • import com.teamdev.jxbrowser.engine.Engine;
    • import com.teamdev.jxbrowser.view.javafx.BrowserView;
    •  
    • import javafx.application.Application;
    • import javafx.scene.Scene;
    • import javafx.scene.layout.BorderPane;
    • import javafx.stage.Stage;
  •  
  • /**...*/
    • /**
    •  * 这个示例演示了如何创建和初始化 Engine,创建 Browser
    •  * 将其嵌入到一个 JavaFX 场景中,并显示现代网络内容,
    •  * 如 YouTube 视频。
    •  */
  • public final class HelloWorld extends Application {...
    • @Override
    • public void start(Stage primaryStage) {...
      • var engine = Engine.newInstance(HARDWARE_ACCELERATED);
      • var browser = engine.newBrowser();
      • var view = BrowserView.newInstance(browser);
      •  
      • var scene = new Scene(new BorderPane(view), 700, 500);
      • primaryStage.setTitle("JavaFX BrowserView");
      • primaryStage.setScene(scene);
      • primaryStage.show();
      •  
      • browser.navigation().loadUrl(
      •     "https://youtu.be/BO8lX3hDU30");
      }
    }
 
  • /.../
    • /*
    •  * 版权所有 2024,TeamDev。保留所有权利。
    •  *
    •  * 本软件源代码和/或二进制形式的再分发和使用,
    •  * 无论是否经过修改,都必须保留上述版权声明和以下免责声明。
    •  *
    •  * 本软件由版权持有人和贡献者“按原样”提供,并且不附带任何明示或暗示的担保,
    •  * 包括但不限于对适销性和特定用途适用性的暗示担保。
    •  * 在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、
    •  * 特殊、示例性或后果性损害(包括但不限于采购替代商品或服务;
    •  * 使用、数据、利润或业务中断的损失)负责,
    •  * 无论这些损害是否由使用本软件引起,无论是否已告知此类损害的可能性。
    •  * 无论是基于合同、严格责任还是侵权(包括疏忽或其他)的任何责任理论,
    •  * 都不得追究版权所有者或贡献者的责任。
    •  */
  •  
  • import ...
    • import static com.teamdev.jxbrowser.engine.RenderingMode.*;
    •  
    • import com.teamdev.jxbrowser.engine.Engine;
    • import com.teamdev.jxbrowser.view.swt.BrowserView;
    • import org.eclipse.swt.layout.FillLayout;
    • import org.eclipse.swt.widgets.Display;
    • import org.eclipse.swt.widgets.Shell;
  •  
  • /**...*/
    • /**
    •  * 这个示例演示了如何创建和初始化 Engine,创建 Browser,
    •  * 将其嵌入 SWT Shell 中,并加载一个展示
    •  * WebGL 3D 功能的网页。
    •  */
  • public final class HelloWorld {...
    • public static void main(String[] args) {...
      • var engine = Engine.newInstance(HARDWARE_ACCELERATED);
      • var browser = engine.newBrowser();
      •  
      • var display = new Display();
      • var shell = new Shell(display);
      • shell.setText("SWT BrowserView");
      • shell.setLayout(new FillLayout());
      •  
      • var view = BrowserView.newInstance(shell, browser);
      • view.setSize(700, 500);
      •  
      • shell.pack();
      • shell.open();
      •  
      • browser.navigation().loadUrl(
      •     "https://links.teamdev.com/jxbrowser-webgl-demo");
      •  
      • while (!shell.isDisposed()) {
        • if (!display.readAndDispatch()) {
          • display.sleep();
        • }
      • }
      • engine.close();
      • display.dispose();
      }
    }
 

如何使用 JxBrowser?

混合应用程序

混合应用程序

结账&自助服务终端

结账&自助服务终端

数字广告

数字广告

游戏

游戏

网页抓取

网页抓取

自动化

自动化

桌面及平板电脑应用程序

桌面及平板电脑应用程序

混合应用程序

借助最新网络技术的强大功能扩展您的 Java 桌面应用程序。在您的软件中充分发挥两者的优势。

混合应用程序

结账&自助服务终端

使用网络技术实现本机应用程序的用户界面并将其显示在触摸屏上。 直接从 JavaScript 使用外围设备。

结账&自助服务终端

数字广告

在户外和室内 LED 屏幕上显示视频或网页内容,例如数字广告牌、菜单板,电影院、加油站、MOL 商店、餐馆等的数字标牌。

数字广告

游戏

使用 JS、HTML、CSS 创建游戏,并在没有互联网连接的情况下使用 GPU 以 4K@60fps 渲染它们。直接从 JavaScript 中使用外围设备。

游戏

网页抓取

使用网页浏览器功能加载和分析网站、查找和浏览其网页、查找和提取文本和图像、对网页进行截图,等等。

网页抓取

自动化

模拟用户活动并自动化网页上的不同场景。 拦截网络请求、配置代理、访问和修改 DOM、填写网页表单,等等。

自动化

桌面及平板电脑应用程序

使用React、AngularJS、Material UI、Bootstrap等JS库创建具有令人惊叹的用户界面的现代桌面或平板电脑应用程序。

桌面及平板电脑应用程序

如何运作

How it works diagram

产品功能

自 2008 年起采用内部自研技术

凭借专注的注入方式,实现了经验的积累和稳定性的验证 —— 完全由我们的团队自主开发,不依赖于任何其他集成项目(如 CEF)。

自 2008 年起采用内部自研技术

HTML5、CSS3、JavaScript

显示使用最新 Web 标准构建的现代网页。

HTML5、CSS3、JavaScript

Java ↔ JavaScript

在 JavaScript 和 Java 代码之间实现相互调用。

Java ↔ JavaScript

4K 60FPS

通过 GPU 以 60FPS 的速度全屏渲染 4K 视频。

4K 60FPS

离屏

在轻量级离屏 Swing/JavaFX 组件中显示网页。

离屏

最新安全更新

通过不断更新 Chromium 来维持安全性。

最新安全更新

HTML 转 Bitmap

将网页另存为 PNG 或 JPEG 文件。

HTML 转 Bitmap

Chrome 扩展程序

从 Chrome 应用商店安装 Chrome 扩展程序或从 CRX 文件以编程方式加载它们。

Chrome 扩展程序
了解更多

PDF

通过内置的 PDF Viewer 显示 PDF 文档。

PDF

打印

打印网页和 PDF。将网页另存为 PDF。

打印

Chromium 配置文件

创建和使用多个标准和隐身配置文件。

Chromium 配置文件
了解更多

DOM

访问和修改当前加载网页的 DOM。

DOM
了解更多

CSS

在网页文档中注入额外的 CSS。

CSS
查看示例

网络

拦截网络请求,修改 HTTP 头部信息等。

网络
了解更多

拼写

获取有关网页上拼写错误的通知。

拼写
了解更多

Widevine

播放来自 Netflix 和 Amazon 的受 DRM 保护的媒体内容。

Widevine
了解更多

DevTools

通过 DevTools 或 Remote Debugging Port 调试网页。

DevTools
了解更多

ARM

可在搭载 Apple Silicon 芯片的 Mac 电脑以及 Linux/Windows ARM64 设备上运行。

ARM
了解更多

Cookies

访问、创建、删除和过滤会话和持久性 cookies。

Cookies
了解更多

自定义协议

注册自定义协议并模拟网络服务器响应。

自定义协议
查看指南

对话框

控制 JavaScript 和文件对话框或显示您自己的对话框。

对话框
阅读更多

用户代理

修改每个网页的用户代理字符串。

用户代理
查看指南

代理服务器

根据每个配置文件配置 HTTP、HTTPS、FTP 和 SOCKS 代理设置。

代理服务器
了解更多

键盘 & 鼠标

过滤键盘和鼠标事件。注册您的快捷方式。

键盘 & 鼠标
了解更多

保存网页

将当前加载的网页保存为一组文件。

保存网页
查看指南

缩放

更改缩放级别,放大/缩小网页内容。

缩放
了解更多

身份验证

处理 Basic、Digest、NTLM、Proxy 和 SSL Cert auth。使用 SuisseID 和 U2F 设备。

身份验证
了解更多

自定义上下文菜单

显示您自己的自定义上下文菜单或在鼠标右键单击时不执行任何操作。

自定义上下文菜单
查看指南

下载

管理文件下载、获取下载进度通知、暂停或取消。

下载
了解更多

获取帮助

试用期支持

在评估期间,请发送电子邮件至

社群

标准支持

1 年订阅套餐

高级服务

除了标准支持,我们还将提供

产品更新

在您激活的标准支持订阅期间,您可以免费获取和使用所有 JxBrowser 更新,包括补丁、次要和主要版本。

此产品版本与许可证密钥不兼容。

如果您尝试使用在您的有效订阅到期日期后发布的新版本的产品,您将看到此错误消息。要使用新版本,您可以 续订订阅

JxBrowser 更新包括:

  • 新功能;
  • 修复和改进;
  • 支持新的 Java 和操作系统版本;
  • Chromium 升级。

产品使用帮助

我们的支持工程师将与您保持联系,就产品的使用进行咨询,提供专业建议,回答您所有关于 JxBrowser 可能性的问题,并协助解决各种问题。

协助排除故障

如果您遇到仅在特定环境中发生的问题,并且无法提供可复现问题的最小测试应用程序,我们随时准备协助您解决这类问题。

我们可以分析日志、堆栈跟踪、崩溃转储、线程转储,设置远程屏幕共享会话并尝试找出问题所在。如果可能的话,我们将提供一些解决方案,或者找出如何在我们的端重现问题,以调试库并应用修复。

我们仅接受和修复我们可以重现的问题。这是我们创建自动化测试、应用修复并确保修复解决问题的唯一方法。

考虑功能请求

如果您希望 JxBrowser 添加一些新功能,您可以向我们发送一个功能请求。我们将考虑您的功能请求,并告诉您是否会继续开发这个功能。如果我们决定不继续开发该功能,我们将解释原因,并提出解决方法(如果有的话)。

预览版本

我们将在实施该功能或应用修复后,为您准备预览版本。

自定义版本

您是否需要一个无法包含在官方版本中的非常具体的自定义功能?就这项服务而言,您可以要求我们在最新官方版本的基础上实现该功能,并为您提供自定义版本。我们将与您合作,更好地了解您所需的功能,收集所有要求,进行调查并为您提供估算,实现该功能,为您准备和交付自定义版本。

优先功能开发

如果您不想等到所请求的功能在下一个版本中实现,并且您需要尽快得到它,则您可以使用该项服务来提高功能的优先级,在计划发布日期之前更早地得到它。

视频通话、远程会话和聊天

使用扩展的沟通渠道与我们的支持工程师联系。如果有必要,我们可以安排视频或电话通话,设置远程工作会话,或使用聊天软件进行更有效的沟通。此服务可作为我们标准支持订阅的附加选项使用,或与其他高级服务组合使用。

咨询和专业建议

如果您有一个新产品的想法,或者您想通过集成 JxBrowser 扩展现有产品的功能,但不知道如何正确实现或如何解决您的特定情况。我们的专家可以协助并帮助您找到最佳解决方案,降低成本并管理风险。

现场咨询

如果有必要,我们会到您的现场收集有关您项目的详细信息和需求,以便我们的工程师能够给出更准确的专家建议,我们将随时准备为您提供全球范围内的现场咨询。

按需发布官方版本

您可以请求发布一个包含您感兴趣的功能或修复的正式版本,而无需等待计划的发布日期。
对您的项目或业务特定细节的额外覆盖
价格

支付一次,永久使用

包含一年免费更新和技术支持。选择续订,可享受 25% 的折扣。我们提供全方面中文服务

个人

/
  • 发给个人

  • 永久许可证 永久许可证意味着您可以始终使用您购买的产品版本,或者在有效支持订阅期间升级到的版本。

  • 在您的应用程序中免费分发

  • 无限项目

  • 月付
    年付
  • 更新与支持

  • 1 个月的产品更新

    1 年的产品更新

  • 1 个月的技术支持

    1 年的技术支持

  • 1 个 JxBrowser 帮助中心的帐户

个人许可证协议 个人许可证协议

项目

¥58,888 / 年
  • 发给公司

  • 永久许可证 永久许可证意味着您可以始终使用您购买的产品版本,或者在有效支持订阅期间升级到的版本。

  • 在您的应用程序中免费分发

  • 1 个项目 捆绑到项目的 Java 包中。

  • 年付

  • 更新与支持

  • 1 年的产品更新

  • 1 年的技术支持

  • 2 个 JxBrowser 帮助中心的帐户

项目许可证协议

企业

¥209,699 / 年
  • 发给公司

  • 永久许可证 永久许可证意味着您可以始终使用您购买的产品版本,或者在有效支持订阅期间升级到的版本。

  • 在您的应用程序中免费分发

  • 无限项目

  • 年付

  • 更新与支持

  • 1 年的产品更新

  • 1 年的技术支持

  • 4 个 JxBrowser 帮助中心的帐户

更新与支持 延长一年

获得 25% 的价格优惠

我们接受付款方式

以及更多

JxBrowser 使用在 LGPL 下提供的 Blink、glibc、FFmpeg、libsecret、libusb、Speech Dispatcher、Wayland Protocols GTK、Wayland Protocols KDE 组件。

此页面上的价格不含任何税费。

咨询与开发服务

我们为 JxBrowser 开发提供专业支持

行业经验丰富

  • 自 2008 年以来一直专注于将浏览器与 Java 集成工作。

  • 服务于银行、电信、科研、开发、政府等多个领域

专属服务团队

  • 由我们专业的工程师团队全程支持。

  • 无缝对接。

  • 您的项目由 JxBrowser 开发团队亲自负责。

灵活的合作方式

  • 支持项目各阶段需求。

  • 初始设置协助。

  • 从桌面到 Web 或混合应用的跨平台迁移。

  • UI 设计与实现。

  • 复杂集成与定制解决方案。

用户反馈

“TeamDev 是 Watchfire 公司产品开发的核心合作伙伴。他们的产品与我们的应用程序无缝集成。得益于 TeamDev 提供的详尽文档与强大支持,我们的集成过程非常简单顺利。

TeamDev 的客服十分出色,他们总能迅速响应我们的问题,并提供富有见地的解决方案,帮助我们快速解决各种挑战。

TeamDev 的产品性能卓越,功能可靠,完全符合我们客户的需求。同时,其跨平台支持也让我们能够轻松满足各种产品平台的要求。

我们强烈推荐与 TeamDev 这样的优秀产品公司建立合作关系。”

Pattabi Doraiswamy

“我们 JxBrowser 组件的升级非常顺利且简单,只有一些小问题,但 TeamDev 的支持团队已经迅速且及时地解决了它们。”

Yaron Nechushtan

高级软件开发员

“我们已经使用 JxBrowser 八年了。

JxBrowser 确实是一个稳定且易于使用的解决方案。每当我们有问题或漏洞报告时,JxBrowser 的工程师都会迅速回应。

而当我们遇到复杂的情况时,其支持团队也总是会不遗余力地帮助我们解决问题。”

“JxBrowser 很稳定,运行没有任何问题。详细的文档、迁移指南和示例都特别有帮助。”

Dorothee Kunze

“JxBrowser 稳定可靠的技术不仅使集成成为可能,而且使其更加容易。

此外,其支持团队的反应也非常迅速且称职,甚至经常可以在同一天提供帮助与支持。”

Stefano Morandi

“我们特别欣赏 JxBrowser 团队的一点是,他们能够积极采纳客户的建议,而且其客户支持也非常出色!”
“在 InfoSuite,我们认为 JxBrowser 是一个出色的组件,可将高性能的 WebView 轻松嵌入到传统的 Java 应用程序中。它为我们提供了从 Swing 到 Web UI 的平滑迁移路径。”

“作为软件开发人员,我们对 JxBrowser 的强大功能非常满意。

其出色的技术支持团队始终帮助我们快速解决问题并提供解决方案。”

通过经销商购买许可证

常见问题

技术问题

我的用户是否需要安装 Chrome?

不需要,JxBrowser 已经部署了所有必需的 Chromium 二进制文件。您无需 安装 Google Chrome 即可使用 JxBrowser。

你们多久升级一次 Chromium?

我们遵循 Chromium 计划,并在 Chromium 最新稳定版本可下载时立即将其升级。升级到新的 Chromium 版本通常需要 3-4 周,具体取决于最新 Chromium 版本的更改数量。

你们可以将最新版本的修复程序反向移植到我当前使用的版本吗?

不可以。所有修复、改进、新功能、新 Java 和操作系统版本以及 Chromium 升级都仅在最新(主流)版本上实现。我们不会在之前版本的基础上应用或反向移植修复和功能。

我公司有多少员工可以联系技术支持?

  • 如果您拥有个人许可证,我们将在 JxBrowser 帮助中心为许可证持有者创建一个帐户。
  • 为项目许可证持有者的员工创建 2 个帐户。
  • 企业许可证持有方最多可为公司员工获取 4 个帐户。

在我们系统中拥有帐户的每个人都可以联系技术支持。

许可问题

什么是标准支持订阅?

连同商业许可证,TeamDev 将为您提供一年的标准支持订阅,其中包括产品更新和技术支持。

我的订阅到期后产品会停止工作吗?

该库将保持其功能性。但是,在您的有效订阅到期日期之后,您将无法使用技术支持和在此日期之后发布的新版本。

您可以随时续订,但需额外付费。

我可以分发多少份包含 JxBrowser 的产品副本?

您可以分发附带我们库的无限数量的产品副本。

项目许可证中“项目”的定义是什么?

当我们说“项目”时,我们指的是贵公司的一个产品,包括未来的产品版本或基于贵公司产品的潜在衍生作品。

项目许可证与项目的一个 package绑定。当您购买项目许可证时,我们会要求您提供调用库 API 的包的名称。包的名成应符合 com.company.product.module 格式。

Chromium 是开源的。它是根据哪个许可提供的?

Chromium 代码主要是在宽松的 BSD 许可证下提供的,但是,它包含的某些组件是在不同的许可证下提供的。我们已经审查了 JxBrowser 中包含的所有组件的许可证,并在 此处引用了它们。没有披露专有代码的要求。

30 天免费试用

我们将通过电子邮件向您发送试用密钥和快速入门指南。

请不要使用特殊字符或空格

请输入一个有效的电子邮件地址

请提供有效的电话号码

阅读并同意条款以继续。
Spinner

发送中。。。

抱歉,发送中断

请再次尝试,如果问题仍然存在,请联系我们 info@teamdev.com.

谢谢您!

您的个人 JxBrowser 试用密钥和快速入门指南将在几分钟内发送至您的电子邮箱。