跨平台浏览器集成库JxBrowser 支持 Chrome 扩展程序,高效赋能 Java 桌面应用

JxBrowser 是 TeamDev 开发的跨平台库,用于在 Java 应用程序中集成 Chromium 浏览器。它支持 HTML5、CSS3、JavaScript 等,具备硬件加速渲染、双向 Java 与 JavaScript 连接、丰富的事件监听等功能,能处理网页保存、打印等操作,助力 Java 应用高效展示和交互网页内容。

JxBrowser 现在支持 Chrome 扩展程序啦!您可以从 Chrome 应用商店或 CRX 文件中安装、更新并与几乎任何 Chrome 扩展程序进行交互。

为什么我需要扩展程序

Chrome 扩展程序非常实用。它们不仅丰富了 Browser 的功能,还显著提升了用户的效率和舒适度。更重要的是,它们为用户提供了一个既经济又高效的方式,去访问那些在桌面软件中可能无法直接使用或实现起来不切实际的功能。

例如,许多第三方服务如 1Password、Okta 和 Salesforce 很难集成到桌面应用程序中,但它们提供了方便的 Chrome 扩展程序。

此外,扩展程序还提供了诸如翻译、语法检查和校对等功能。使用 JxBrowser ,您可以在 Java 桌面应用程序中享受这些功能,而无需额外费用。

如何安装 扩展 程序

在​​​​​​​JxBrowser 中安装 Chrome 扩展程序有两种方法:通过 CRX 文件或从 Chrome 应用商店安装。

1、通过 CRX 文件安装扩展程序:您只需要 CRX 文件本身和一行代码:

您可以将 CRX 文件与您的应用程序一起打包,并在应用程序首次启动时以编程方式安装它们。

不过,从未知来源安装时需谨慎,因为 ​​​​​​​JxBrowser 从 CRX 文件安装扩展程序时不会验证来源,虽然 Chrome 应用商店会对公共扩展程序签名并可验证来源,但自定义内部扩展程序无法验证。

2、直接从 Chrome 应用商店安装扩展程序:默认情况下,我们禁止以这种方式安装扩展程序。要允许用户从 Chrome 应用商店安装扩展程序,您需要显式允许这一行为:

接着,终端用户可以在 Chrome 应用商店中找到该扩展程序,只需点击添加到 Chrome 即可。

如何与扩展程序交互

大多数扩展程序都会在 Google Chrome 工具栏中添加一个图标。此图标称为"扩展程序操作",用户可以点击它。

JxBrowser 不显示 Chrome 工具栏,但允许您通过代码点击扩展程序操作。

如果需要的话,还可以在用户界面中显示扩展程序操作。

当用户点击图标时,大多数扩展程序会打开一个小弹出窗口,即 "扩展程序操作弹出窗口"。默认情况下,​​​​​​​JxBrowser 为每个弹出窗口打开一个新窗口,但您可以覆盖此行为:

扩展程序可以创建包含任意 Web 内容的弹出窗口。例如,它们可以打开设置页面,或者将用户带到第三方网络服务进行授权。

默认情况下,​​​​​​​JxBrowser 会阻止扩展程序的弹出窗口,但您可以更改此行为:

如果您想显示所有扩展程序弹出窗口,请使用 ​​​​​​​JxBrowser 提供的默认实现:

注意: JxBrowser 不支持 Chrome 扩展程序 API 的某些部分,主要是因为在嵌入式 Browser 的上下文中它们没有意义。

要查看最新的限制列表,请查阅文档中的 不支持的 API 列表。

相关推荐
困鲲鲲27 分钟前
Python中内置装饰器
python
摩羯座-185690305941 小时前
Python数据可视化基础:使用Matplotlib绘制图表
大数据·python·信息可视化·matplotlib
lingchen19061 小时前
MATLAB的数值计算(三)曲线拟合与插值
开发语言·matlab
爱隐身的官人2 小时前
cfshow-web入门-php特性
python·php·ctf
gb42152872 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
THMAIL2 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
~-~%%2 小时前
从PyTorch到ONNX:模型部署性能提升
人工智能·pytorch·python
一朵梨花压海棠go2 小时前
html+js实现表格本地筛选
开发语言·javascript·html·ecmascript
蒋星熠2 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
翻滚丷大头鱼3 小时前
Java 集合Collection—List
java·开发语言