You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让WebView2中document的ontouchend属性返回true

WebView2中实现元素手指拖动功能的问题

我需要在WinForms的WebView2控件中实现手指拖动元素的功能,但当前环境不支持ontouchstart、ontouchend等触摸事件,执行"ontouchend" in document返回false。

我尝试了以下多种方法,但均未生效:

初始化代码

webView2 = new Microsoft.Web.WebView2.WinForms.WebView2();
  • 方法1:启用触摸模拟
await webView2.EnsureCoreWebView2Async(null);
if (webView2.CoreWebView2 != null)
{
    webView2.CoreWebView2.CallDevToolsProtocolMethodAsync("Emulation.setEmitTouchEventsForMouse", "{'enabled': true }");
}
  • 方法2:添加msWebView2EnableDraggableRegions启动参数
string arg = @"--enable-features=""msWebView2EnableDraggableRegions""";
var opts = new CoreWebView2EnvironmentOptions { AdditionalBrowserArguments = arg };
var webView2Environment = await CoreWebView2Environment.CreateAsync(null, null, opts);
await webView21.EnsureCoreWebView2Async(webView2Environment);
  • 方法3:启用滑动导航设置
await webView2.EnsureCoreWebView2Async(null);
if (webView2.CoreWebView2 != null)
{
    webView2.CoreWebView2.Settings.IsSwipeNavigationEnabled = true;
}
  • 方法4:修改UserAgent为iPad模拟器的Safari标识
await webView2.EnsureCoreWebView2Async(null);
if (webView2.CoreWebView2 != null)
{
    webView2.CoreWebView2.Settings.UserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15";
}

内容的提问来源于stack exchange,提问作者Juliet Ceaser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:43:31