如何让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
相关产品推荐
相关产品推荐

