未找到uniwebview_unity内嵌浏览器——UniWebView插件
这次突然被要求实现内嵌浏览器。在网上到处找资料参考,下面几个链接的内容感觉很实用
https://blog.csdn.net/qq_37310110/article/details/79761844
https://blog.csdn.net/shen71702163/article/details/79283645
分享一下这次心得吧,以下是个人感受,技术不太好,说错了敬请纠正。
1.首先找插件,小编就找到了个UniWebView2.9,附上下载链接如下,https://pan.baidu.com/s/1HPvFzKU7WNHSvxHrKtX8zg 提取码:4g2i
2.导入之后就是这样,还有个参考Demo
在UniWebViewHelper里面加个方法
public static UniWebView CreateUniWebView(GameObject go, string url, float top, float left, float bottom, float right)
{
if (go == null || !go.activeSelf)
{
return null;
}
var view = go.GetComponent();
if (view == null)
{
view = go.AddComponent();
}
view.insets = new UniWebViewEdgeInsets(UniWebViewHelper.ConvertPixelToPoint(top, false), UniWebViewHelper.ConvertPixelToPoint(left, true), UniWebViewHelper.ConvertPixelToPoint(bottom, false), UniWebViewHelper.ConvertPixelToPoint(right, true));
view.SetShowSpinnerWhenLoading(true);
view.immersiveMode = false;
view.url = url;
return view;
}
3.后面发现报红线了
发现这个方法没有,网上那个教程也没说这个方法,只能自立更生思考怎么写了,发现这个是界面显示方法,参考官方文档不知道怎么写好,只能换种思路,继续查“UniWebView案例”。
private static int ConvertPixelToPoint(float num, bool v)
{
#if UNITY_IOS && !UNITY_EDITOR
float scale = 0;
if(v)
{
scale = 1f * screenWidth / Screen.width;
}
else
{
scale = 1f * screenHeight / Screen.height;
}
return (int)(num*scale);
#endif
return (int)num;
}
5.创建一个新脚本OpenURL,(代码有点长,大家可以直接去上一个链接那里复制就行)
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class OpenURL : MonoBehaviour
{
public InputField _url;
public Button _enterBtn;
public Button _backBtn;
UniWebView _view;
private void Awake()
{
_enterBtn.onClick.AddListener(OpenUrl);
_backBtn.onClick.AddListener(CloseUrl);
_backBtn.gameObject.SetActive(false);
}
public void OpenUrl()
{
if (_view != null)
{
_view.CleanCache();
}
if (_url.text == null)
{
return;
}
_view = UniWebViewHelper.CreateUniWebView(gameObject, "https://" + _url.text, 100, 0, 50, 0);
_view.OnLoadComplete += View_OnLoadComplete;
_view.Load();
}
private void View_OnLoadComplete(UniWebView webView, bool success, string errorMessage)
{
if (success)
{
// 显示 加载完成的界面
webView.Show();
_backBtn.gameObject.SetActive(true);
}
else
{
// 输出 错误码
Debug.LogError("Something wrong in webview loading: " + errorMessage);
}
}
public void CloseUrl()
{
_view.Hide();
_view.OnLoadComplete -= View_OnLoadComplete;
Destroy(_view);
}
}
6.创建两个按钮和一个输入框,在canvas下挂OpenURL和UniWebView这两个脚本,记得给OpenURL挂按钮,那个UniWebView参数直接是在代码改变的,所以不用设置。
7.这样就成功了,不过注意如图下是因为在OpenURL脚本里的OpenUrl方法本来加了http://,可以选择去掉或者输入不要http://。
8.效果如下(之前的top=100是为了空白可以显示上面的返回按钮,bottom=50底部留白)
未找到uniwebview_unity内嵌浏览器——UniWebView插件相关推荐
- unity内嵌浏览器——UniWebView插件
这次突然被要求实现内嵌浏览器.在网上到处找资料参考,下面几个链接的内容感觉很实用 https://blog.csdn.net/qq_37310110/article/details/79761844 ...
- vscode预览html插件,VSCode插件推荐-VSCode内嵌浏览器插件-Browser Preview
很多小伙伴在开发html页面的时候觉得很不方便.因为显示屏的大小是有限的,只能展示代码或者浏览器窗口的其中一种,哪怕用上了LiveServer,也需要一直切换页面,接下来小编带来的这款插件,可以在VS ...
- Java实现内嵌浏览器
创建项目 ----> 导入需要的jar ----> 代码实现 需要的jar: https://pan.baidu.com/s/1MEZ1S0LnKSMGQm24QWgmCw 代码: ...
- PC游戏中用CEF3制作内嵌浏览器
因为项目需要,需要将游戏手机助手中的朋友圈给移植到PC游戏中,而以前游戏中的内嵌浏览器采用的是IE6内核,满足不了我们的需求,于是决定把Cef3内嵌到游戏中,在完成正常工作之余,利用闲散时间不断地查找 ...
- C# WPF使用CefSharp客户端内嵌浏览器做一个开小差工具
前言 CefSharp是一个C#客户端内嵌入chromium开源项目浏览器的工具,方便在客户端中自然的访问网页内容,十分好用.当然,网上有很多使用CefSharp的教程了,怎么使用都很详尽.我这里只是 ...
- 【java】本地客户端内嵌浏览器3 - Swing 使用 Spring 框架 + 打包项目 + 转exe + 源码
目录 ★☆★ 写在前面 ★☆★ ★☆★ 本系列文章 ★☆★ ★☆★ 开源网址 ★☆★ 一.给 Swing 加上 Spring 0.前期努力 I. SpringBoot II. SpringMVC 1. ...
- 如何清除微信内嵌浏览器的缓存数据
清除微信内嵌浏览器的缓存数据,可以按照以下步骤进行: 进入微信聊天页面,点击右上角的三个点,选择"设置": 在设置页面中,找到"通用"选项,再点击"清 ...
- 【java】本地客户端内嵌浏览器2 - chrome/chromium/cef/jcef
目录 ★☆★ 写在前面 ★☆★ ★☆★ 本系列文章 ★☆★ ★☆★ 开源网址 ★☆★ 一.发现新大陆 - CEF/JCEF 0.前言 1.使用 jcef.jar 搭建项目 2.启动包含 jcef.ja ...
- 网页歌单html制作,网页内嵌网易云插件全程(包括生成自己歌单的外链)
网页内嵌网易云插件全程(包括生成自己歌单的外链) 1.首先附图,网易云官网教程.(music.163.com) 2.实例操作, 首先第一步在网页版网易云,随便打开一个歌单,点击生成外链播放器. 3.你 ...
- C# 内嵌 浏览器 CEF 、FireFox、Miniblink
项目 地址 https://github.com/TL-GuiZhou/windows.Browers Windows 平台下,C# 内嵌网页的 demo,包括当前流行的 CEF .FireFox. ...
最新文章
- 独家 | 机器学习模型应用方法综述
- delphi 回调函数
- 任意角度人脸检测pcn
- java 大整数编程_Java编程--RSA算法中的大整数运算
- SD-销售订单中装运点确认
- Auto Lisp 标注子样式_FAIR 开放大规模细粒度词汇级标记数据集 LVIS,连披萨里的菠萝粒都能完整标注...
- 牛客网(剑指offer) 第十四题 链表中倒数第k个节点
- Python程序异常处理:try、except、else、finally,捕获指定异常类型、捕获多个异常类型、捕获所有异常类型、捕获异常信息、异常的传递、raise抛出自定义异常
- 移动互联网的发展趋势ios与android哪更有前景,移动互联网是什么?移动互联网现状,发展趋势及前景...
- 【编程好习惯】引入中间变量使程序更易读
- yuv420p 详解_YUV格式详解,图文详解YUV420数据格式
- MongoDB的安装和基础CRUD
- 汇编指令lea取偏移地址
- python用tkinter做简易计算器_基于python tkinter的简单计算器(v1.0)
- 如何将硬盘数据迁移包括系统一起迁移到另一个硬盘?
- 利率掉期(利率互换)的解释
- 实验物理与工业控制系统---EPICS
- 上载人生(数字天堂)
- 2048版俄罗斯方块java_Java版俄罗斯方块
- iReport制作EXCEL、PDF或者HTML文件
热门文章
- Windows 10 下载官方正版ISO镜像文件
- SQL 数据库基础知识总结(一)
- 台达伺服b3参数_台达ECMA伺服马达规格参数表
- 自适应迁移学习核极限学习机KELM用于分类
- 如何使用QGIS下载Google地图的遥感影像
- 项目管理知识体系指南(PMBOK 指南) 第6版——笔记
- OpenCV DNN调用训练好的caffe 模型(目标检测)
- H5+springboot(集成ffmpeg)实现前端视频录制以及webm格式转mp4
- 时间表达式java定时器_java--定时器
- java xcap_java实现发布订阅