Unity发布webgl获取浏览器的URL
Unity发布webgl之后获取浏览器的url
在unity中创建文件夹Plugins
,然后添加添加文件UnityGetBrowserURL.jslib
var GetUrlFunc = {
//获取地址栏的URL
StringReturnValueFunction: function () {
var returnStr = window.top.location.href;
var title =decodeURI(returnStr);
var bufferSize = lengthBytesUTF8(title) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(title, buffer, bufferSize);
return buffer;
}
};
mergeInto(LibraryManager.library, GetUrlFunc);
在Unity中添加代码
using UnityEngine;
using System.Runtime.InteropServices;
using UnityEngine.UI;
public class NewBehaviourScript : MonoBehaviour
{
[DllImport("__Internal")]
private static extern string StringReturnValueFunction();//获取地址栏的URL,这个方法名要和上面js代码的方法名一样
public string webGLURL = "";
public Button btnGetBrowser;
public Text txtBrowserURL;
private void Start()
{
GetBrowserURL();
btnGetBrowser.onClick.AddListener(() =>
{
GetBrowserURL();
});
}
private void GetBrowserURL()
{
#if UNITY_WEBGL
webGLURL = StringReturnValueFunction();
txtBrowserURL.text = webGLURL;
Debug.Log(webGLURL);
#endif
}
}
场景布局
发布webgl
拷贝到nginx
运行结果
在地址栏输入Ip:端口号/?serligblsdhroivbaelirbgvkersab
,/?
后面是随便打的字符,然后按下enter会刷新网页并重新显示URL,(显示的文字和在编辑器下显示的文字不一致的原因是:webgl不支持unity自带的字体中的中文,换个其他的字体就行了)
资源下载
自己去我发布的资源下载吧。我上传半小时了还不审核通过。
Enjoy
资源可以私信获取,有不明白的欢迎私信留言