日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

未找到uniwebview_unity内嵌浏览器——UniWebView插件

發布時間:2023/12/9 HTML 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 未找到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插件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。