如何通过 Unity 使用 WebGL/C# 在新选项卡上打开 link?
How to open a link on a new tab using WebGL/C# through Unity?
当前通过我的游戏打开 link 会在同一界面中打开 link。我希望它在新选项卡上打开。我尝试研究插件和诸如此类的东西,以便 .jslib 文件与 Unity 项目交互,但我也遇到了问题。我是这种交互的新手,所以我在查找插件检查器本身时也遇到了问题。
目前,我的代码是这样做的:
private void Update()
{
if (Input.GetKeyDown(KeyCode.Return))
{
Application.OpenURL("www.google.com");
}
}
所以这会在同一个浏览器上打开 link。我试图做到这一点,当用户点击 return 键时,他们会在新浏览器上打开 link。
感谢任何帮助!
一种正确的方法是使用 .jslib 文件
Assets/plugins/plugin.jslib
var plugin = {
OpenNewTab : function(url)
{
url = Pointer_stringify(url);
window.open(url,'_blank');
},
};
mergeInto(LibraryManager.library, plugin);
您的 C# 脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
public class OpenURL : MonoBehaviour
{
[DllImport("__Internal")]
private static extern void OpenNewTab(string url);
public void openIt(string url)
{
#if !UNITY_EDITOR && UNITY_WEBGL
OpenNewTab(url);
#endif
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Return))
{
openIt("www.wateverurluwant.com");
}
}
}
统一的另一种解决方案。您仍然可以使用 ExternalEval
,即使它已被弃用:
Application.ExternalEval("window.open('" + YourLink + "', '_blank')");
当前的解决方案(从 Unity 2019 左右开始)是 Alienator5000 最初尝试的解决方案,带有“Application.OpenURL”。
它现在会在新标签页中打开您的 URL。您可以在我对 .
的回复中看到更多详细信息
祝你有愉快的一天:)
当前通过我的游戏打开 link 会在同一界面中打开 link。我希望它在新选项卡上打开。我尝试研究插件和诸如此类的东西,以便 .jslib 文件与 Unity 项目交互,但我也遇到了问题。我是这种交互的新手,所以我在查找插件检查器本身时也遇到了问题。
目前,我的代码是这样做的:
private void Update()
{
if (Input.GetKeyDown(KeyCode.Return))
{
Application.OpenURL("www.google.com");
}
}
所以这会在同一个浏览器上打开 link。我试图做到这一点,当用户点击 return 键时,他们会在新浏览器上打开 link。
感谢任何帮助!
一种正确的方法是使用 .jslib 文件
Assets/plugins/plugin.jslib
var plugin = {
OpenNewTab : function(url)
{
url = Pointer_stringify(url);
window.open(url,'_blank');
},
};
mergeInto(LibraryManager.library, plugin);
您的 C# 脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
public class OpenURL : MonoBehaviour
{
[DllImport("__Internal")]
private static extern void OpenNewTab(string url);
public void openIt(string url)
{
#if !UNITY_EDITOR && UNITY_WEBGL
OpenNewTab(url);
#endif
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Return))
{
openIt("www.wateverurluwant.com");
}
}
}
统一的另一种解决方案。您仍然可以使用 ExternalEval
,即使它已被弃用:
Application.ExternalEval("window.open('" + YourLink + "', '_blank')");
当前的解决方案(从 Unity 2019 左右开始)是 Alienator5000 最初尝试的解决方案,带有“Application.OpenURL”。
它现在会在新标签页中打开您的 URL。您可以在我对
祝你有愉快的一天:)