JxBrowser:(为什么)我可以(不)使用缓存目录的 URI 路径?

标签 jxbrowser

我评估了JxBrowser不久前。我想到了以下问题: 我可以使用 Java URI 通过自定义 FileSystemProvider(如 encFs4J)从底层 Chromium 引擎“重新路由”所有临时文件吗? ?

我想要这样做的原因是为了遵守数据隐私法。由于 Web 应用程序无法强制浏览器清除其缓存或以安全方式存储任何临时文件,因此我认为我可以使用 JxBrowser 来实现这一点。如果我可以自己处理所有文件,我就可以做一些加密魔术,这样(几乎)没有人可以访问我的应用程序之外的数据。

有一个 API 可以通过 BrowserContextParams 定义目录。 但是,只允许绝对路径。不接受 URI。

而不是做

BrowserContext context = new BrowserContext(new BrowserContextParams("C:\\Chromium\\Data"));
Browser browser1 = new Browser(context);

我想做这样的事情

BrowserContext context = new BrowserContext(new BrowserContextParams(new URI("enc+file:///C:/Chromium/Data"));
Browser browser1 = new Browser(context);

有谁知道一种方法可以利用 JxBrowser 等进程的文件处理例程?我能以某种方式添加此功能,就像它的包装器一样吗?

我考虑过为此使用 VeraCrypt 之类的东西。但这在可用性方面并不好,因为您必须安装虚拟硬盘驱动器驱动程序。对于一个相当简单的问题来说,这太过分了。

最佳答案

JxBrowser 中的底层 Chromium 引擎不使用 Java IO API 来访问文件。传递给 Chromium 引擎的数据目录只有一个路径字符串,它自己决定如何处理所有 IO 操作。

Chromium 中有一种模式称为隐身模式。在该模式下,所有文件,包括 cookie、缓存、历史记录都存储在内存中,没有任何内容存储在硬盘上,因此一旦您关闭应用程序,所有数据将自动清除。如果这满足您的要求,我们可以研究如何在 JxBrowser 中启用隐身模式。

关于JxBrowser:(为什么)我可以(不)使用缓存目录的 URI 路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39945897/

相关文章:

java - 当打开 IntelliJ 的 Scenebuilder 时,其中包含浏览器 View 。我无法运行/调试应用程序,因为 BrowserContext 已锁定

html - 捆绑应用程序(exe)后出现异常 "Unknown Error"

java - 如何在java swing中获得聚焦的jxBrowser

java - 在java应用程序中使用js和css(嵌入式浏览器功能)

java - 如何使用 JxBrowser 模拟键盘输入

java - 驱动程序文件中缺少 JxBrowser BrowserFactory

linux - 无法在 Linux 上使用 jxbrowser 创建新的浏览器

java - 在当前选项卡中打开新页面

javascript - JxBrowser 从资源 URL 加载 HTML,无法打开 websocket

java - JxBrowser:cookie中的url是什么意思?