Unity发布webgl获取浏览器的URL
Unity发布webgl之后获取浏览器的url
在unity中创建文件夹Plugins
,然后添加添加文件UnityGetBrowserURL.jslib
var GetUrlFunc = {//获取地址栏的URLStringReturnValueFunction: 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_WEBGLwebGLURL = StringReturnValueFunction();txtBrowserURL.text = webGLURL;Debug.Log(webGLURL);
#endif}
}
场景布局
发布webgl
拷贝到nginx
运行结果
在地址栏输入Ip:端口号/?serligblsdhroivbaelirbgvkersab
,/?
后面是随便打的字符,然后按下enter会刷新网页并重新显示URL,(显示的文字和在编辑器下显示的文字不一致的原因是:webgl不支持unity自带的字体中的中文,换个其他的字体就行了)
资源下载
自己去我发布的资源下载吧。我上传半小时了还不审核通过。
Enjoy
资源可以私信获取,有不明白的欢迎私信留言