UniWebView 3 使用心得
基于 UniWebView 3
官网教程 点击打开链接
最新版 插件下载链接
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class WebViewController : MonoBehaviour
{private UniWebView uniWebView;public RectTransform viewImage;public UniWebView GetUniWebView{get{if (uniWebView == null){uniWebView = GameObject.FindObjectOfType<UniWebView>();if (uniWebView == null){GameObject webViewGameObject = GameObject.Find("UniWebView");if (webViewGameObject == null)webViewGameObject = new GameObject("UniWebView");uniWebView = webViewGameObject.AddComponent<UniWebView>();uniWebView.ReferenceRectTransform = viewImage;}uniWebView.OnMessageReceived += OnMessageReceived;uniWebView.OnPageStarted += OnPageStarted;uniWebView.OnPageFinished += OnPageFinished;uniWebView.OnKeyCodeReceived += OnKeyCodeReceived;uniWebView.OnPageErrorReceived += OnPageErrorReceived;uniWebView.OnShouldClose += OnShouldClose;uniWebView.SetBackButtonEnabled(false);// 回退钮 物理按键}return uniWebView;}}private void OnPageErrorReceived(UniWebView webView, int errorCode, string errorMessage){Debug.Log("OnPageErrorReceived :" + string.Format("errorCode:{0},errorMessage{1}", errorCode, errorMessage));}private void OnKeyCodeReceived(UniWebView webView, int keyCode){Debug.Log("OnKeyCodeReceived keycode:" + keyCode);}private void OnPageFinished(UniWebView webView, int statusCode, string url){Debug.Log("OnPageFinished statusCode:" + string.Format("statusCode:{0},url{1}", statusCode, url));}private void OnPageStarted(UniWebView webView, string url){Debug.Log("OnPageStarted " + url);}///JS 调用 untiy3Dprivate void OnMessageReceived(UniWebView webView, UniWebViewMessage message){Debug.Log("OnMessageReceived :" + message.RawMessage);// if (message.Path.Equals("game-over")) {// var score = message.Args["score"];// Debug.Log("Your final score is: " + score);//// // Restart the game after 3 second// Invoke("OnReLoaded", 3.0f);// }if (message.Path.Equals("game")){var score = message.Args["score"];var name = message.Args["name"];Debug.Log("Your final score is: " + score + "name :" + name);// Restart the game after 3 second//Invoke("OnReLoaded", 3.0f);if (GetUniWebView.isActiveAndEnabled){string content = string.Format("openParamOne({0});", int.Parse(score) * 2 + int.Parse(name) * 1);GetUniWebView.EvaluateJavaScript(content, (payload) => {if (payload.resultCode.Equals("0")){Debug.Log("Game Started!=========>");}else{Debug.Log("Something goes wrong: " + payload.data);}});}}}private bool OnShouldClose(UniWebView webView){webView.CleanCache();webView = null;return true;}private string url = "http://www.0000.com/TWeb.aspx";private void OnGUI(){url = GUILayout.TextField(url, GUILayout.Width(250), GUILayout.Height(80));if (GUILayout.Button("Load", GUILayout.Height(80))){OnLoaded();}if (GUILayout.Button("ReLoad", GUILayout.Height(80))){OnReLoaded();}if (GUILayout.Button("Close", GUILayout.Height(80))){OnClose();}if (GUILayout.Button("Call JS", GUILayout.Height(80))){OnCallJavaScript();}if (GUILayout.Button("GoBack", GUILayout.Height(80))){if (GetUniWebView.CanGoBack){GetUniWebView.GoBack();} }if (GUILayout.Button("GoForward", GUILayout.Height(80))){if (GetUniWebView.CanGoForward){GetUniWebView.GoForward();}}}private void OnLoaded(){GetUniWebView.Load(url);GetUniWebView.Show();}private void OnReLoaded(){if (GetUniWebView.isActiveAndEnabled){GetUniWebView.Reload();}}private void OnClose(){GetUniWebView.Hide();Destroy(GetUniWebView.gameObject);}///调用 JS 代码private void OnCallJavaScript(){if (GetUniWebView.isActiveAndEnabled){GetUniWebView.EvaluateJavaScript("openParam();", (payload) => {if (payload.resultCode.Equals("0")){Debug.Log("Game Started!");}else{Debug.Log("Something goes wrong: " + payload.data);}});}// if (GetUniWebView.isActiveAndEnabled) // {// string content = string.Format ("openParam({0});", int.Parse(score) * 2 + int.Parse(name) * 1);// GetUniWebView.EvaluateJavaScript(content, (payload)=>{// if (payload.resultCode.Equals("0")) {// Debug.Log("Game Started!");// } else {// Debug.Log("Something goes wrong: " + payload.data);// }// });// }}}
插件下载链接
关于 JS 调用 Unity3D 详细:https://docs.uniwebview.com/guide/working-with-code.html
UniWebView 3 使用心得相关推荐
- unity内嵌浏览器——UniWebView插件
这次突然被要求实现内嵌浏览器.在网上到处找资料参考,下面几个链接的内容感觉很实用 https://blog.csdn.net/qq_37310110/article/details/79761844 ...
- Java EE学习心得
–Java EE学习心得 1. 称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...
- 测试心得:微图书销售小程序
测试心得:微图书销售小程序 前言 这个学期差不多也将近结束,经过大半个学期,从项目需求的确认和项目文档的编写,到一步步的设计与实现,现在终于到了测试阶段,但是我们在测试阶段也暴露出了很多bug,但是每 ...
- java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得
该文章出自:http://www.cnblogs.com/hucn/p/3572384.html 分析工具:http://www.blogjava.net/jjshcc/archive/2014/03 ...
- 计算机财务应用实验心得,计算机会计实习心得-20210628124643.doc-原创力文档
计算机会计实习心得 计算机会计实习心得1 毕业实践环节是大学生在完成全部课程后.走向社会之前最真实的一个模拟实验,对于我们财会专业的学生,平时注意注重理论学习,缺乏实践锻炼,因此实习显得尤为重要.在本 ...
- html5考试总结300字,期中考心得300字5
为了检验学生半个学期所学的知识而进行的一次考试,有利于学生比较正式地检验自己平时的学习水平,根据这个成绩,学生可以及时的调整学习心态和方法,更有效率地进行下一阶段的学习,期中考试主要考察学生前半学期的 ...
- Assembly学习心得
http://blog.csdn.net/etmonitor/ Assembly学习心得 说明: 最近开始准备把学到的.NET知识重新整理一遍,眼过千遍不如手过一遍,所以我准备记下我的学习心得,已备参 ...
- 什么叫安装文件索引服务器,搜出精彩 玩转Windows 2008系统心得
[IT168 专稿]不少朋友已经在不经意间与Windows Server 2008系统进行了亲密接触,在一段时间的接触之后,不知大家对该系统的文件搜索功能会有什么样的体会?其实,Windows Ser ...
- mysql主从数据库含义_(转)Mysql数据库主从心得整理
管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验所写,整理了一下,分享给各位同行,希望对 ...
- 工作中InnoDB引擎数据库主从复制同步心得
近期将公司的MySQL架构升级了,由原先的一主多从换成了DRBD+Heartbeat双主多从,正好手上有一个电子商务网站新项目也要上线了,用的是DRBD+Heartbeat双主一从,由于此过程还是有别 ...
最新文章
- Android Studio项目结构
- 浅析java中的语法糖
- html div标签的 class属性是干嘛用的?
- 使用WebRTC开发Android Messenger:第1部分
- jdbc oracle 删除数据库连接,如何使用JDBC API从Oracle数据库中删除表?
- inner join 重复数据_Ramp;Python Data Science 系列:数据处理(2)
- dockerfile构建镜像
- Cisco 交换机配置文件存放位置及管理要点
- Eclipse中,对工作空间中的项目进行分组(在查询中,也可也选择这个分组)。
- Leetcode142. Linked List Cycle II环形链表2
- java sequence 生成器_分布式高效唯一ID生成器(sequence)
- RS485芯片介绍及典型应用电路
- 计算机主机启动不了系统怎么办,电脑蓝屏开不了机怎么办
- Python绘图 好用的网址
- 医学影像研究的重要性 计算机,计算机辅助医学影像诊查之关键学习技术研究.doc...
- mac如何查看wifi密码
- 作业5 - 团队展示
- txt文件编码批量转换器 2.11 官方版
- Two Year's Harvest
- win10网上邻居无法访问0x80004005