跨平台浏览器集成库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 列表。

相关推荐
沐晓时光5 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
用户956256254299 小时前
跟做:Firecrawl 单页转 Markdown 再丢进沙箱总结
python·api
威哥爱编程9 小时前
模拟面试智能体开发实战 02:回答等半分钟,谁还愿意练?把服务端和流式输出搭起来
python·agent·harmonyos
威哥爱编程9 小时前
模拟面试智能体开发实战 01:面试挂了都不知道挂在哪?用 Python 给自己造一个随叫随到的 AI 面试官
python·agent·harmonyos
2601_967980119 小时前
Python行情API量化 02:顺序拉 20 要 2 秒?并发批量把时间压到 0.5 秒
python·api·限流·并发·量化
伞伞悦读9 小时前
【第81期】特征缩放怎么选:标准化、MinMax 与 Robust 的原理、泄漏对照和完整实验
人工智能·python·深度学习·机器学习
新*10 小时前
从一段 WebSocket 代码聊开:bytes 不是 zlib、binaryType 决定一切,15MB 大消息的零拷贝优化
javascript·python·websocket·性能优化·blob·zlib·arraybuffer
David猪大卫11 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
卷无止境12 小时前
mathmodel-figure-templates 以及两个上手案例
后端·python
fengci.12 小时前
CTF2MISC中等部分
开发语言·前端·学习