Temos o prazer de anunciar que as extensões do Chrome no DotNetBrowser estão em pré-visualização pública!
Este artigo demonstra como instalar a extensão uBlock Origin no DotNetBrowser e como interagir com ela a partir do código.
As extensões do Chrome numa Web view trazem novas capacidades para o seu software sem qualquer custo. Com as extensões, pode bloquear anúncios, melhorar a acessibilidade, utilizar as ferramentas do programador de bibliotecas JavaScript e muito mais.
O suporte para extensões está quase pronto. E enquanto a terminamos, oferecemos à comunidade uma versão de pré-visualização. Experimente a aplicação de demonstração ou adicione alguns pacotes NuGet ao seu projeto para o verificar.
Clonar a aplicação de demonstração
Eis como obter a aplicação de demonstração:
Clonar o repositório DotNetBrowser-Examplos.
git clone https://github.com/TeamDev-IP/DotNetBrowser-Examples.git
Mudar para o ramo
extensions-preview
:git checkout extensions-preview
Obtenha uma licença de avaliação gratuita de 30 dias. Preencha o formulário, e você receberá imediatamente um e-mail com a chave de licença.
Enviando…
Desculpe, o envio foi interrompido
Tente novamente. Se o problema persistir, contate-nos através do endereço info@teamdev.com.
A sua chave de avaliação pessoal de DotNetBrowser e o guia de início rápido chegarão à sua caixa de entrada de e-mail dentro de alguns minutos.
- Coloque a sua chave de licença no arquivo
dotnetbrowser.license
na raiz do repositório. - Abra a solução no Visual Studio 2019 ou mais recente.
- Clique com o botão direito do mouse na solução no “Solution Explorer” e selecione “Restore NuGet Packages”.
- Crie a solução e execute o projeto
Extensions
.
Utilização no projeto existente
Se já utiliza o DotNetBrowser, pode obter a versão de pré-visualização a partir do NuGet:
Adicionar o feed EAP do DotNetBrowser:
dotnet nuget add source "https://pkgs.dev.azure.com/teamdev-products/66fbd081-377c-4af2-a64d-fee8ca740ed4/_packaging/dotnetbrowser-eaps/nuget/v3/index.json" --name "DotNetBrowser EAP NuGet feed"
Mude para a versão de pré-visualização do DotNetBrowser:
dotnet add package DotNetBrowser -v "2.22.1-b3483-eap" dotnet add package DotNetBrowser.WPF -v "2.22.1-b3483-eap"
Instalar a extensão
A instalação de uma extensão é simples: encontre-a na Chrome Web Store e passe o URL para o DotNetBrowser.
No código abaixo, instalamos a extensão uBlock Origin:
// Um URL da extensão uBlock Origin na Chrome Web Store.
var url = "https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm/related?hl=en";
// Concede explicitamente a permissão para instalar extensões.
var extensions = engine.Profiles.Default.Extensions;
extensions.ValidatePermissionsHandler =
new Handler<ValidatePermissionsParameters, ValidatePermissionsResponse>(
p => ValidatePermissionsResponse.Grant()
);
// Instale a extensão e aguarde até estar instalada.
var extension = extensions.Install(url).Result;
Se a extensão não estiver na loja, especifique o caminho para o arquivo CRX3:
var url = "C:\\extensions\\my-extension.crx";
Interagir com a extensão
Cada extensão tem um ícone na barra de ferramentas do Chrome. Quando um usuário clica no ícone, a extensão normalmente faz alguma coisa. Por exemplo, pode mostrar um pequeno pop-up ou alterar silenciosamente o conteúdo da página.
No DotNetBrowser, não existe uma barra de ferramentas ou um ícone para clicar. Por isso, em vez disso, fornecemos a API para “clicar no ícone” a partir do código:
extension.GetAction(browser).Click();
Se a extensão quiser mostrar um pop-up, o DotNetBrowser abri-lo-á como uma nova janela. Mas é possível alterar este comportamento.
O pop-up da extensão é uma instância normal do IBrowser. Assim, pode fazer qualquer coisa: mostrá-la dentro da janela existente, torná-la transparente, ou transformá-la numa caixa de diálogo modal. De fato, pode decidir não a mostrar.
Neste exemplo, não apresentamos o pop-up e, em vez disso, fazemos alguma automatização:
using DotNetBrowser.Browser.Handlers;
...
browser.OpenExtensionActionPopupHandler =
new Handler<OpenExtensionActionPopupParameters,
OpenExtensionActionPopupResponse>(p =>
{
// Assim que a janela for carregada, automatize as ações necessárias.
p.PopupBrowser.Navigation.FrameLoadFinished += (s, e) =>
{
if (e.Frame.IsMain)
{
// Clique no botão de troca atual no pop-up uBlock.
e.Frame.GetElementById("switch").Click();
}
};
// Permitir que a extensão carregue conteúdo no navegador pop-up.
return OpenExtensionActionPopupResponse.Open();
});
Dê-nos extensões para verificar
A integração das extensões do Chrome no DotNetBrowser representa um passo significativo, oferecendo mais possibilidades para melhorar as aplicações .NET. Com esta atualização, convidamos os programadores a explorar e a dar feedback.
o que pensa e quais as extensões que pretende utilizar.