Publicado em 26 de julho de 2021
DotNetBrowser 2.7
O novo DotNetBrowser 2.7 traz um motor Chromium atualizado e a API com novas funcionalidades.
O que há de novo
Chromium 91
O motor Chromium foi atualizado para a versão 91.0.4472.114.
Esta versão do Chromium inclui várias e importantes correções de segurança, pelo que recomendamos que atualize para esta versão.
Alguns dos recursos do Chromium incluídos no DotNetBrowser foram removidos ou alterados. Consulte o guia de migração para ver qual API do DotNetBrowser foi removida e quais alternativas você pode usar.
Perfis
A API DotNetBrowser foi estendida com perfis Chromium. Agora, a arquitetura tem a seguinte estrutura:
Cada Motor tem um IProfile
padrão que pode ser acessado via:
IProfile defaultProfile = engine.Profiles.Default;
Os serviços abaixo pertencem agora ao IProfile
. Você pode gerenciar cookies, transferências, permissões, plugins, etc. de forma independente para cada perfil:
ZoomLevels
Plugins
Proxy
Rede
Corretor ortográfico
CookieStore
HttpCache
Downloads
Permissões
Para criar um novo perfil normal ou incógnito, utilize a seguinte API:
IProfile profile = engine.Profiles.Create("MyProfile");
IProfile incognitoProfile = engine.Profiles.Create("MyIncognitoProfile",
ProfileType.Incognito);
Cada instância do IBrowser
tem um perfil. Para criar uma instância do IBrowser
para um perfil específico, é utilizada a seguinte abordagem:
IProfile profile = engine.Profiles.Create("MyProfile");
IBrowser browser = profile.CreateBrowser();
Para manter a compatibilidade com versões anteriores, não alteramos a interface IEngine
. Apenas delega as suas chamadas para o perfil padrão. Por exemplo:
IBrowser browser = engine.CreateBrowser();
// é equivalente a
IBrowser browser = engine.Profiles.Default.CreateBrowser();
e
ICookieStore cookieStore = engine.CookieStore;
// é equivalente a
ICookieStore cookieStore = engine.Profiles.Default.CookieStore;
Se você configurar um IEngine
com o diretório de dados do usuario, todos os perfis criados serão restaurados após o reinício da aplicação, a menos que elimine um perfil através de IProfiles.Remove(IProfile)
.
O perfil padrão não pode ser eliminado.
Veja o exemplo completo que demonstra como trabalhar com perfis do Chromium: C#, VB.NET
Ver fonte da página
Agora você pode ver a origem da página Web ou do frame carregado, tal como no Google Chrome:
browser.MainFrame?.ViewSource();
O código acima diz ao Chromium para criar e abrir uma janela pop-up com a fonte HTML do frame principal. Será um pop-up normal com o seguinte aspecto:
Modo escuro
Também é possível forçar o esquema de cores preferido através das definições do navegador:
browser.Settings.PreferredColorScheme = PreferredColorScheme.Dark; //força o modo escuro
browser.Settings.PreferredColorScheme = PreferredColorScheme.Light; //força o modo claro
Os sites Web que respeitam a consulta multimédia prefers-color-scheme
mudarão para o modo claro ou escuro em conformidade.
Cor de fundo padrão
Quando o Chromium não sabe a cor de fundo de uma página Web ou a cor não foi especificada, ele utiliza a cor branca. Nesta versão, estendemos a API com uma nova funcionalidade que lhe permite configurar a cor de fundo padrão que o Chromium deve utilizar em vez da cor branca padrão nesses casos.
O código a seguir demonstra como definir a cor de fundo desejada para a página about:blank:
Cor purple = new Color(0.6f, 0.3f, 0.6f);
browser.Settings.DefaultBackgroundColor = purple;
Picture-in-Picture
Agora você pode assistir vídeos numa janela flutuante (por cima de outras janelas) enquanto interage com outros sites Web ou aplicações.
Esta funcionalidade só está disponível no modo de renderização acelerada por hardware.
Problemas corrigidos
- O BrowserView fica em branco ao redimensionar a janela principal para tela cheia no modo de renderização fora de tela, enquanto o DotNetBrowser está incorporado como um suplemento VSTO.
- O foco não é restaurado para a página web depois de fechar a caixa de diálogo PrintPreview.
Melhorias
- Agora é possível trabalhar com promises em JavaScript através do tipo
IJsPromise
. - A propriedade
IFrame.Text
foi adicionada. Permite obter o conteúdo de um frame como texto simples. - O comportamento do foco para o controle WinForms BrowserView em aplicações WPF foi melhorado.
- A função WinAPI
SetWindowDisplayAffinity()
usada com o parâmetroWDA_MONITOR
não causa mais uma falha do Chromium ao navegar para um domínio diferente.
Solicitar licença de avaliação
Baixar DotNetBrowser 2.7 (.NET Framework)
Baixar DotNetBrowser 2.7 (.NET Core)
Siga @DotNetBrowser para obter todas as atualizações da biblioteca.
Assine o nosso RSS feed para receber atualizações instantâneas sobre novos lançamentos.