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 a como interagir com ela a partir do código.

Extensão uBlock no DotNetBrowser

Uma extensão lançada no DotNetBrowser

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.

Clonar a aplicação de demonstração 

Eis como obter a aplicação de demonstração:

  1. Clonar o repositório DotNetBrowser-Examplos.

    git clone https://github.com/TeamDev-IP/DotNetBrowser-Examples.git
    
  2. Mudar para o ramo extensions-preview :

    git checkout 3.x.x
    
  3. 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.

Spinner

Enviando…

Desculpe, o envio foi interrompido

Tente novamente. Se o problema persistir, contate-nos através do endereço info@teamdev.com.

Leia e aceite os termos para continuar.

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.

  1. Coloque a sua chave de licença no arquivo dotnetbrowser.license na raiz do repositório.
  2. Abra a solução no Visual Studio 2019 ou mais recente.
  3. Clique com o botão direito do mouse na solução no “Solution Explorer” e selecione “Restore NuGet Packages”.
  4. 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:

dotnet add package DotNetBrowser -v "v3.0.0"
dotnet add package DotNetBrowser.WPF -v "v3.0.0"

Instalar a extensão 

A instalação de uma extensão é simples:

// O caminho para o arquivo da extensão.
string crx = Path.GetFullPath("path/to/extension.crx");

// Instalar a extensão e aguardar até estar instalada.
var extensions = engine.Profiles.Default.Extensions;
IExtension extension = await extensions.Install(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>(p =>
    {
        IBrowser popupBrowser = p.PopupBrowser;
        // Assim que a janela for carregada, automatize as ações necessárias.
        PopupBrowser.Navigation.FrameLoadFinished += (s, e) =>
        {
            if (e.Frame.IsMain)
            {
                // Clique no botão de mudança de botão.
                e.Frame.GetElementById("switch").Click();
            }
        };
    });

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.