发布日期 2022年01月14日
DotNetBrowser 2.11
更新内容
Chromium 96
Chromium 已升级至 96.0.4664.110 版本。
此 Chromium 版本包含 5 个重要修复,因此我们强烈建议您升级至该版本。
拦截触摸事件
现在可以使用以下处理程序来处理触摸事件:Touch.Started.Handler
、Touch.Moved.Handler
、Touch.Canceled.Handler
和 Touch.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.Started
、browser.Touch.Moved
和 browser.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
导致的整个应用程序冻结问题。
申请 30 天免费试用
下载 DotNetBrowser 2.11 (.NET Framework)
下载 DotNetBrowser 2.11 (.NET Core)
关注 @DotNetBrowser ,获取库的更新动态。
订阅我们的 RSS feed ,获取最新版本动态。