写在前面 注意事项:
1.刷新网页时 ,如果网页和unity 有交互,不要用 browser.Reload()
用下面两行代码,而且顺序不能写反
browser.LoadURL("地址", true);
browser.RegisterFunction("Func", JSCallback);
unity 内嵌网页 插件Embedded Browser 可与unity互相调用
下载地址:https://www.assetstore.unity3d.com/#!/content/55459
1.新建Canvas/RawImage,命名为TestBroswer
2.给TestBroswer添加Broswer组件、GUIBroswerUI组件
3.创建TestExchange.cs 脚本, 给TestBroswer 添加TestExchange.cs脚本
TestExchange.cs:
void Start()
{
Broswer broswer=GetComponent<Broswer>();
//浏览器调用unity 方法,传值
broswer.RegisterFunction("HtmlCallUnity",CallByBroswer)
broswer.LoadUrl("ip",true);
}
//当html执行HtmlCallUnity方法,就会调用 CallByBroswer
prvite void CallByBroswer(JSONNode args)
{
Debug.Log("Broswer call unity value:"+args[0]);
}
void Update()
{
if(input.GetKeyUp(KeyCode.H))
{
broswer.CallFunction("UnityCallHtml","unity value");
}
}
4 html代码
<!DOCTYPE html>
<html>
<head>
<script>
//Unity调用网页函数
function UnityCallHtml(str)
{
console.log("UnityCallHtml: " + str);
}
//网页调用Unity函数
function HtmlCallUnity(str)
{
}
</script>
</head>
<body>
<button onclick="HtmlCallUnity('html value')">HtmlCallUnity</button>
</body>
</html>