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

Unity中WebView2传递MouseEvent无响应问题求助

问题排查与解决方案

针对你在Unity中WebView2点击事件传递无响应的问题,从代码和流程上排查几个关键问题:

1. 坐标转换错误(最可能的原因)

你当前使用的PointLocalSpace是Canvas本地空间坐标(通常以中心为原点,范围-0.5到0.5),但WebView需要的是自身渲染区域的像素坐标,且Web端Y轴方向和Unity相反(Web左上角为原点,Unity左下角为原点)。

修正坐标转换逻辑:

// 假设_webView已获取到实际渲染尺寸(比如WebViewTexture的宽高,或配置的WebView窗口大小)
int webViewWidth = _webView.WebViewTexture.width;
int webViewHeight = _webView.WebViewTexture.height;

// 将本地空间坐标转换为WebView像素坐标,修正Y轴方向
float normalizedX = clickPosition.x + 0.5f; // 从[-0.5,0.5]转为[0,1]
float normalizedY = 1 - (clickPosition.y + 0.5f); // 反转Y轴
int x = (int)Math.Round(normalizedX * webViewWidth);
int y = (int)Math.Round(normalizedY * webViewHeight);

2. 仅发送MouseDown事件,缺少完整点击流程

浏览器的点击事件需要完整的MouseDown + MouseUp触发,只发送MouseDown不会触发网页上的点击响应。补充发送MouseUp事件:

var mouseEventsWebView = _webView as IWithMouseEvents;
if (mouseEventsWebView == null)
{
    Debug.LogError("WebView does not implement IWithMouseEvents");
    return;
}

// 发送MouseDown
var mouseDownEvent = new WebViewMouseEventData
{
    X = x,
    Y = y,
    Device = WebViewMouseEventData.DeviceType.Pointer,
    Type = WebViewMouseEventData.EventType.MouseDown,
    Button = WebViewMouseEventData.MouseButton.ButtonLeft,
    TertiaryAxisDeviceType = WebViewMouseEventData.TertiaryAxisDevice.PointingDevice
};
mouseEventsWebView.MouseEvent(mouseDownEvent);

// 立即发送MouseUp(模拟点击抬起)
var mouseUpEvent = new WebViewMouseEventData
{
    X = x,
    Y = y,
    Device = WebViewMouseEventData.DeviceType.Pointer,
    Type = WebViewMouseEventData.EventType.MouseUp,
    Button = WebViewMouseEventData.MouseButton.ButtonLeft,
    TertiaryAxisDeviceType = WebViewMouseEventData.TertiaryAxisDevice.PointingDevice
};
mouseEventsWebView.MouseEvent(mouseUpEvent);

3. 其他排查点

  • 确认_webView实例已正确初始化,且WebView页面已加载完成(可在NavigationCompleted事件回调后再启用点击传递)。
  • 检查WebView的交互设置:确保WebView没有被设置为禁用交互(比如IsEnabled属性为true)。
  • 测试简单网页:用空白HTML页面加一个可点击按钮测试,排除网页自身JS阻止点击的可能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 16:15:26