Profile
本指南介绍了如何管理 Chromium 配置文件。
请考虑阅读架构指南,以更好地了解 JxBrowser 架构的设计方式、工作原理以及它提供的主要组件。
概述
Profile 存储用户数据,如导航历史、cookie、缓存、密码等。
Profile
类提供了对诸如 Profile 的名称、存储其数据的目录的绝对路径等信息的访问,并且提供了对 Profile 相关服务的访问,例如:
ZoomLevels
Plugins
Proxy
Network
SpellChecker
CookieStore
HttpCache
HttpAuthCache
Downloads
Permissions
属于同一 Profile
的 Browser
实例会共享 cookie、历史记录、缓存和其他数据。如果您不想在两个 Browser
实例之间共享数据,那么您可以创建多个 Profile,并使用属于不同 Profile 的 Browser
实例。
要创建和删除 Profile,访问所有已创建的 Profile,包括默认 Profile,请使用 Profiles
服务:
Profiles profiles = engine.profiles();
val profiles = engine.profiles()
默认 Profile
当您创建一个 Engine
实例时,默认 Profile 会自动创建。您可以使用以下方法访问它:
Profile defaultProfile = profiles.defaultProfile();
val defaultProfile = profiles.defaultProfile()
隐身
要使默认配置文件处于隐身模式,请在创建 Engine
实例时使用隐身模式选项。此选项仅影响默认 Profile。
创建 Profile
要创建一个新的常规 Profile,请使用 Profiles.newProfile(String)
方法:
Profile profile = profiles.newProfile("MyProfile");
val profile = profiles.newProfile("MyProfile")
Profile 将其数据(例如导航历史记录、代理设置、cookie、拼写检查器配置等)存储在用户数据目录内的单独目录中。
创建隐身 Profile
要创建隐身 Profile,请使用以下方法:
Profile profile = profiles.newIncognitoProfile("MyIncognitoProfile");
val profile = profiles.newIncognitoProfile("MyIncognitoProfile")
获取 Profile
您可以使用 Profiles.list()
方法获取所有已创建 Profile 的列表,包括默认 Profile。例如:
List<Profile> profiles = profiles.list();
val profiles = profiles.list()
删除 Profile
要删除现有 Profile,请使用 Profiles.delete(Profile)
方法。例如:
profiles.delete(profile);
profiles.delete(profile)
当您删除 Profile 时,所有与其相关联的 Browser 实例都会自动关闭。尝试使用已删除的 Profile
将导致 IllegalStateException
错误。
默认 Profile 无法被删除。尝试删除默认 Profile 会导致 IllegalArgumentException
。
偏好设置
每个 Profile 都有一组偏好设置。你可以使用以下方法来访问 Profile 的偏好设置:
ProfilePreferences profilePrefs = profile.preferences();
val profilePrefs = profile.preferences()
Profile 偏好设置存储在用户数据目录中。当您创建 Engine
实例时,这些偏好设置将从目录中恢复。
Web 表单自动填充
您可以让 JxBrowser 使用保存的信息自动填充表单,比如用户名和密码。当用户在新的在线表单中输入用户名和密码时,库可能会询问您是否想要保存这些信息。
有关如何处理保存密码请求和管理所有已保存密码的更多信息,请参阅密码。
要禁用网页表单自动填充,请使用:
profile.preferences().disableAutofill();
profile.preferences().disableAutofill()