List icon 目录

发布日期 2022年01月14日

DotNetBrowser 2.11

更新内容

Chromium 96

Chromium 已升级至 96.0.4664.110 版本。

此 Chromium 版本包含 5 个重要修复,因此我们强烈建议您升级至该版本。

拦截触摸事件

现在可以使用以下处理程序来处理触摸事件:Touch.Started.HandlerTouch.Moved.HandlerTouch.Canceled.HandlerTouch.Ended.Handler。请参考下面的示例:

private void Subscribe(IBrowser browser)
{
    // 订阅触摸开始事件
    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;
    });

    // 订阅触摸移动事件
    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;
    });

    // 订阅触摸取消事件
     browser.Touch.Canceled.Handler = new Handler<ITouchEventArgs, InputEventResponse>(e =>
    {
        ITouchPoint point = e.TouchPoints.First(p => p.TouchState == TouchState.Canceled);
        Console.WriteLine($@"Touch {point.Id} canceled at - 
            ({point.LocationOnWidget.X} : {point.LocationOnWidget.X})");
        return InputEventResponse.Proceed;
    });

    // 订阅触摸结束事件
    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;
    });
}

模拟触摸事件

触摸事件可以通过使用 browser.Touch.Startedbrowser.Touch.Movedbrowser.Touch.Ended 输入事件来模拟:

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

    // 在位置 (10, 10) 开始 ID 为 0 的触摸
    browser.Touch.Started.Raise(
        new TouchStartedEventArgs(
            new TouchPoint(0, TouchState.Started, new Point(10, 10))));
    Thread.Sleep(500);
    // 将 ID 为 0 的触摸点沿 x 轴移动 5 个像素 
    browser.Touch.Moved.Raise(
        new TouchMovedEventArgs(
            new TouchPoint(0, TouchState.Moved, new Point(15, 10))));
    Thread.Sleep(500);
    // 在位置 (15, 10) 结束 ID 为 0 的触摸  
    browser.Touch.Ended.Raise(
        new TouchEndedEventArgs(
            new TouchPoint(0, TouchState.Ended, new Point(15, 10))));
    Thread.Sleep(500);

    // 在位置 (10, 10) 开始 ID 为 1 的触摸
    browser.Touch.Started.Raise(
        new TouchStartedEventArgs(
            new TouchPoint(1, TouchState.Started, new Point(10, 10))));
    Thread.Sleep(500);
    // 将 ID 为 1 的触摸点沿 x 轴移动 5 个像素 
    browser.Touch.Moved.Raise(
        new TouchMovedEventArgs(
            new TouchPoint(1, TouchState.Moved, new Point(15, 10))));
    Thread.Sleep(500);
    // 在位置 (10, 10) 取消 ID 为 1 的触摸
    browser.Touch.Canceled.Raise(
        new TouchCanceledEventArgs(
            new TouchPoint(1, TouchState.Canceled, new Point(10, 10))));
    Thread.Sleep(500);
}

System.Guid

JS-.NET 桥接功能已经扩展。现在您可以将 System.Guid 结构注入到 JavaScript 中,并从 JavaScript 中将其作为对象获取。

DOM 图像元素

DOM API 已经扩展了 IImageElement 接口。它允许从 IMG 标签中获取图像内容:

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

改进

  • 添加了对 VS 2022 VSIX 包的兼容性。

修复的问题

  • AlertHandler 导致的整个应用程序冻结问题。

下载 DotNetBrowser 2.11

请提供您的电子邮箱地址,我们会尽快将下载说明发送给您。

发送...
EmailBox 请检查您的收件箱。

我们无法发送电子邮件。请重试

如果您已经是我们的注册客户,您无需任何操作,即可轻松享受此次更新。

如果您希望深入了解并体验我们的产品,您可以申请评估许可证。

获取免费 30 天体验
Go Top