Introdução
Instalação
Guias
- Engine
- Profile
- Browser
- BrowserView
- Navegação
- Conteúdo
- DOM
- JavaScript
- Pop-ups
- Diálogos
- Downloads
- Rede
- Cache
- Cookies
- Proxy
- Autenticação
- Plugins
- Impressão
- Senhas
- Perfis de dados do Usuário
- Cartões de Crédito
- Mídia
- Área de transferência
- Zoom
- Corretor Ortográfico
- Implantação
- Chromium
Resolução de Problemas
Profile
Este guia descreve como gerenciar os perfis do Chromium.
Considere a leitura do guia Arquitetura para compreender melhor como a arquitetura do JxBrowser foi concebida, como funciona e quais os principais componentes que fornece.
Visão Geral
O perfil armazena os dados do usuário, como o histórico de navegação, os cookies, a cache, as senhas, etc.
A classe Profile
fornece acesso a informações como o nome do perfil, o caminho absoluto para o diretório onde o perfil armazena seus dados e fornece acesso a serviços relacionados ao perfil, como:
ZoomLevels
Plugins
Proxy
Network
SpellChecker
CookieStore
HttpCache
HttpAuthCache
Downloads
Permissions
As instâncias do Browser
que pertencem ao mesmo Profile
compartilham os cookies, o histórico, a cache e outros dados. Se não quiser compartilhar os dados entre duas instâncias Browser
, você pode criar vários perfis e utilizar as instâncias Browser
que pertencem aos diferentes perfis.
Para criar e excluir perfis, acesse todos os perfis criados, incluindo o perfil padrão, utilize o serviço Profiles
:
Profiles profiles = engine.profiles();
val profiles = engine.profiles()
Perfil Padrão
Quando se cria uma instância Engine
, o perfil padrão é criado automaticamente. Você pode acessá-lo utilizando a seguinte abordagem:
Profile defaultProfile = profiles.defaultProfile();
val defaultProfile = profiles.defaultProfile()
Anônimo
Para tornar o perfil padrão anônimo, utilize a opção Anônimo ao criar uma instância do Engine
. Esta opção afeta apenas o perfil padrão.
Criar Perfil
Para criar um novo perfil regular, utilize o método Profiles.newProfile(String)
:
Profile profile = profiles.newProfile("MyProfile");
val profile = profiles.newProfile("MyProfile")
O perfil guarda os seus dados, como o histórico de navegação, as definições de proxy, os cookies, as configurações do corretor ortográfico, etc., num diretório separado dentro do diretório de dados do usuário.
Criar um Perfil Anônimo
Para criar um perfil anônimo, utilize a seguinte abordagem:
Profile profile = profiles.newIncognitoProfile("MyIncognitoProfile");
val profile = profiles.newIncognitoProfile("MyIncognitoProfile")
Obter Perfis
Você pode obter uma lista de todos os perfis criados, incluindo o perfil padrão, usando o método Profiles.list()
. Por exemplo:
List<Profile> profiles = profiles.list();
val profiles = profiles.list()
Excluir Perfil
Para excluir um perfil existente, utilize o método Profiles.delete(Profile)
. Por exemplo:
profiles.delete(profile);
profiles.delete(profile)
Quando você exclui um perfil, todas as instâncias do navegador associadas ao mesmo são fechadas automaticamente. Uma tentativa de utilizar um Profile
já eliminado conduzirá ao erro IllegalStateException
.
O perfil padrão não pode ser excluído. Uma tentativa de excluir o perfil padrão conduz à IllegalArgumentException
.
Preferências
Cada perfil tem um conjunto de preferências. Você pode acessar as preferências de perfil através do seguinte método:
ProfilePreferences profilePrefs = profile.preferences();
val profilePrefs = profile.preferences()
As preferências de perfil são armazenadas no Diretório de dados do usuário. Eles serão restaurados a partir do diretório quando criar uma instância Engine
.
Preenchimento automático de formulários Web
Você pode permitir que o JxBrowser preencha formulários automaticamente com informações guardadas, como o nome de usuário e a senha. Quando o usuário introduz o nome de usuário e a senha num novo formulário online, a biblioteca pode perguntar se deseja salvá-los.
Leia mais em Senhas sobre como lidar com os pedidos para salvar a senha e gerenciar todas as senhas salvas.
Para desativar o preenchimento automático de formulários Web, utilize:
profile.preferences().disableAutofill();
profile.preferences().disableAutofill()