Publicado em 14 de janeiro de 2022

DotNetBrowser 2.11

O que há de novo

Chromium 96

O Chromium foi atualizado para a versão 96.0.4664.110.

Esta versão do Chromium inclui 5 correções de segurança, portanto,recomendamos que atualize para esta versão.

Interceptação de eventos de toque

Agora é possível tratar eventos de toque utilizando os seguintes handlers: Touch.Started.Handler, Touch.Moved.Handler, Touch.Canceled.Handler e Touch.Ended.Handler. Ver exemplo abaixo:

private void Subscribe(IBrowser browser)
{
    // Assinar evento de toque iniciado
    browser.Touch.Started.Handler = new Handler<ITouchEventArgs, InputEventResponse>(e =>
    {
        ITouchPoint point = e.TouchPoints.First(p => p.TouchState == TouchState.Started);
        Console.WriteLine($@"Touch {point.Id} started at -         ({point.LocationOnWidget.X} : {point.LocationOnWidget.X})");
        return InputEventResponse.Proceed;
    });

    // Subscrever evento de toque movido
    browser.Touch.Moved.Handler = new Handler<ITouchEventArgs, InputEventResponse>(e =>
    {
        ITouchPoint point = e.TouchPoints.First(p => p.TouchState == TouchState.Moved);
        Console.WriteLine($@"Touch {point.Id} moved to -         ({point.LocationOnWidget.X} : {point.LocationOnWidget.X})");
        return InputEventResponse.Proceed;
    });

    // Subscrever evento de toque cancelado
    browser.Touch.Canceled.Handler = new Handler<ITouchEventArgs, InputEventResponse>(e =>
    {
        ITouchPoint point = e.TouchPoints.First(p => p.TouchState == TouchState.Canceled);
        Console.WriteLine($@"Touch {point.Id} cancelado em -         ({point.LocationOnWidget.X} : {point.LocationOnWidget.X})");
        return InputEventResponse.Proceed;
    });

    // Subscrever evento de toque terminado
    browser.Touch.Ended.Handler = new Handler<ITouchEventArgs, InputEventResponse>(e =>
    {
        ITouchPoint point = e.TouchPoints.First(p => p.TouchState == TouchState.Ended);
        Console.WriteLine($@"Touch {point.Id} ended at -         ({point.LocationOnWidget.X} : {point.LocationOnWidget.X})");
        return InputEventResponse.Proceed;
    });
}

Simulação de eventos táteis

O evento de toque pode ser simulado com a ajuda dos eventos de entrada browser.Touch.Started, browser.Touch.Moved e browser.Touch.Ended:

private void SimulateTouches(IBrowser browser)
{
    browser.Focus();

    // Iniciar o toque com ID = 0 na localização (10, 10)
    browser.Touch.Started.Raise(
        new TouchStartedEventArgs(
            new TouchPoint(0, TouchState.Started, new Point(10, 10))));
    Thread.Sleep(500);
    // Deslocar o toque com ID = 0 em 5 pixéis ao longo do eixo x
    browser.Touch.Moved.Raise(
        new TouchMovedEventArgs(
            new TouchPoint(0, TouchState.Moved, new Point(15, 10))));
    Thread.Sleep(500);
    // Terminar toque com ID = 0 na localização (10, 10)
    browser.Touch.Ended.Raise(
        new TouchEndedEventArgs(
            new TouchPoint(0, TouchState.Ended, new Point(15, 10))));
    Thread.Sleep(500);

    // Iniciar o toque com ID = 1 na localização (10, 10)
    browser.Touch.Started.Raise(
        new TouchStartedEventArgs(
            new TouchPoint(1, TouchState.Started, new Point(10, 10))));
    Thread.Sleep(500);
    // Deslocar o toque com ID = 1 em 5 pixéis ao longo do eixo x
    browser.Touch.Moved.Raise(
        new TouchMovedEventArgs(
            new TouchPoint(1, TouchState.Moved, new Point(15, 10))));
    Thread.Sleep(500);
    // Cancelar toque com ID = 1 na localização (10, 10)
    browser.Touch.Canceled.Raise(
        new TouchCanceledEventArgs(
            new TouchPoint(1, TouchState.Canceled, new Point(10, 10))));
    Thread.Sleep(500);
}

System.Guid

A funcionalidade da bridge JS-.NET foi estendida. Agora, é possível injetar a estrutura System.Guid no JavaScript e obtê-la como um objeto do JavaScript.

Elemento de imagem DOM

A API DOM foi estendida com a interface IImageElement. Ela permite obter o conteúdo da imagem a partir da etiqueta IMG:

IImageElement element = document.GetElementByTagName("img") as IImageElement;
Bitmap contents = element.Contents;

Melhorias

  • A compatibilidade do pacote VS 2022 VSIX foi adicionada.

Problemas corrigidos

  • AlertHandler causando o congelamento de toda a aplicação.

Solicitar licença de avaliação
Baixar DotNetBrowser 2.11 (.NET Framework)
Baixar DotNetBrowser 2.11 (.NET Core)

Go Top