在unity3d里用Embedded Browser打开VUE页面时的注意问题
项目需要用unity打开我们用vue制作的一个页面。并且需要unity和web页面相互通讯。Embedded Browser提供了几个函数来实现这个需求。public void RegisterFunction(string name, JSCallback callback)public IPromise<JSONNode> EvalJSCSP(string script...
·
项目需要用unity打开我们用vue制作的一个页面。并且需要unity和web页面相互通讯。
Embedded Browser提供了几个函数来实现这个需求。
public void RegisterFunction(string name, JSCallback callback)
public IPromise<JSONNode> EvalJSCSP(string script, string scriptURL = "scripted command")
public IPromise<JSONNode> CallFunction(string name, params JSONNode[] arguments)
由于vue是模板式的,并不能像静态网页一样直接使用这三个函数。
public IPromise<JSONNode> EvalJS(string script, string scriptURL = "scripted command");
//这个就需要在vue的mounted暴露一个vue,方便调用
mounted () {
window.vue = this
window.callme = function ()
{
console.log('callme ok!')
}
}
c#
browser.EvalJS("callme()")
.Then(ret => Debug.Log("ok"))
.Catch(ret => Debug.Log("err")).Done();
public void RegisterFunction(string name, JSCallback callback) ;
//如果在打开网页时就调用注册的函数,会出现函数未定义的错误,在调用前判断下防止报错。
//c#
browser.RegisterFunction("jscallcs", args => {
Debug.Log("jscallcs ok ");
});
//js
try{
if(typeof jscallcs=== "function")
jscallcs()
}
catch(e){
}
更多推荐
已为社区贡献2条内容
所有评论(0)