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

如何在HoloLens 2的Unity应用中实现多网页标签打开功能?

问题根因

Unity的Application.OpenURL在HoloLens 2(UWP平台)上连续同步调用时,会被系统的浏览器启动逻辑判定为重复请求,仅保留最后一次调用的页面加载,不会生成多个标签页。

可行解决方案

方案1:协程延迟调用(改造成本最低)

给每次URL调用添加间隔,让浏览器有足够时间处理新标签页请求,直接复用原有Application.OpenURL逻辑,不需要适配平台API:

// 替换原有循环调用为协程触发
StartCoroutine(OpenMultiUrls(mehrerenids));

IEnumerator OpenMultiUrls(List<string> idList)
{
    foreach (var id in idList)
    {
        Application.OpenURL($"LINK/{id}");
        // 间隔可根据实际效果调整,通常200-500ms即可生效
        yield return new WaitForSeconds(0.3f);
    }
}

方案2:UWP原生Launcher API调用(稳定性更高)

直接调用HoloLens 2原生UWP平台的启动API,不会被合并请求,无需添加延迟即可打开多个标签页,注意添加平台编译宏避免非UWP平台编译报错:

#if ENABLE_WINMD_SUPPORT && UNITY_WSA
using Windows.System;
#endif

// 循环调用逻辑
foreach (var ids in mehrerenids)
{
    string targetUrl = $"LINK/{ids}";
    #if ENABLE_WINMD_SUPPORT && UNITY_WSA
    // 调用UWP原生API启动URL
    _ = Launcher.LaunchUriAsync(new Uri(targetUrl));
    #else
    // 非UWP平台降级使用Unity默认API
    Application.OpenURL(targetUrl);
    #endif
}

注意事项

需要确认HoloLens 2内置Edge浏览器的默认配置为「新链接打开新标签页」,默认系统配置均符合该要求,如有异常可手动在Edge设置中调整。

内容的提问来源于stack exchange,提问作者Fabian H.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:57:04