unity调用js_HighCharts嵌入unity---注意wwebView插件已经停止更新,这个方案慎用

湛月:测试HighCharts调用服务器数据生成表格​zhuanlan.zhihu.com

接上篇,把生成的图表网页内嵌到unity里,在编辑器中能看到效果,导出的平台为pc。

要完成这个网页内嵌功能,需要用到两个unity插件

  • UniWebView
  • WWebView

其中UniWebView插件是大家接触较多的移动端内嵌网页插件,其只能支持移动端使用。

WWebView插件对上面的插件进行的二次开发,修改了部分代码,可以实现在编辑器,pc,和Windows 10 Universal App中使用。

注意:

  • WWebView还不支持IL2CPP
  • WWebView不再支持Hololens

本文使用的是UniWebView3.x版本亲测,如果是2.x版本请升级。

不多说了开始干:

  1. 首先导入两个插件
  2. 打开“/Assets/UniWebView/Interface/UniWebViewPlaceholder.cs”文件,修改首行为
#if !UNITY_EDITOR_OSX && !UNITY_STANDALONE_OSX && !UNITY_IOS && !UNITY_ANDROID && !UNITY_EDITOR_WIN && !UNITY_STANDALONE_WIN && !UNITY_WSA

如图:

21a09ae7a54f9d16b2457fe3cc4e203a.png
  1. 打开文件"/Assets/UniWebView/Script/UniWebViewHelper.cs"在方法StreamingAssetURLForPath中加入
#elif UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
    return Application.streamingAssetsPath + "/" + path;
#elif UNITY_WSA
    return "ms-appx-web:///Data/StreamingAssets/" + path;

9b204a4481f97284cbaf7085af23ce37.png

再在Player Settings->other settings中找到Scripting Define Symbols,添加:

UNIWEBVIEW3_SUPPORTED

74fb94d376d8aa2dbfa58fe87bbfc258.png

最后会发现代码里面有三处报错,第一个是参数个数不同,这个错误只需要删除最后一个输入参数就行。后面的两个错误,直接注释掉代码就行。两个不用的方法。

d0482eaac7b414842bf26cc3aceb483c.png

然后就ok了。

还需要注意的是:编辑器运行时候,网页是一个弹出框,偶尔画面会闪烁,导出成exe就不存在这个问题了。

2c84cc283ae0996b7818c53d644287e2.png

上面实现的只是显示界面功能,下面简单说下使用unity和网页交互的方法:

webView.EvaluateJavaScript("myFunction('http://127.0.0.1:8000/Data/txt.csv');", (payload) => {});

调用UniWebView类的EvaluateJavaScript方法,第一个参数是js的方法以及参数,后面的方法回调。不过知道为啥,回调方法没有执行。哪位大佬知道,请指导一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值