62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
| namespace Guru
 | |
| {
 | |
|     using System.Collections;
 | |
|     using System.Collections.Generic;
 | |
|     using UnityEngine;
 | |
|     
 | |
|     /// <summary>
 | |
|     /// Guru 内置浏览器
 | |
|     /// </summary>
 | |
|     public class GuruWebview
 | |
|     {
 | |
|         public const string Version = "0.0.2";
 | |
|         public static float WindowFadeDuration = 0.35f;
 | |
|         
 | |
|         private static UniWebView CreateWebView()
 | |
|         {
 | |
|             var go = new GameObject("guru_webview");
 | |
|             Object.DontDestroyOnLoad(go);
 | |
|             var view = go.AddComponent<UniWebView>();
 | |
|             view.Frame = new Rect(0,0, Screen.width, Screen.height);
 | |
|             view.SetUserInteractionEnabled(true);
 | |
|             return view;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 打开页面
 | |
|         /// </summary>
 | |
|         /// <param name="url">页面链接</param>
 | |
|         /// <param name="showToolbar">显示工具条</param>
 | |
|         /// <param name="waitForReady">等待加载完成后再显示页面</param>
 | |
|         /// <param name="fadeIn">淡入显示效果</param>
 | |
|         public static void OpenPage(string url, bool showToolbar = true, 
 | |
|             bool waitForReady = true, bool fadeIn = true)
 | |
|         {
 | |
|             Debug.Log($"---- Guru Open Url: {url}");
 | |
|             var view = CreateWebView();
 | |
|             
 | |
|             if (showToolbar)
 | |
|             {
 | |
|                 view.SetShowToolbarNavigationButtons(true);
 | |
|                 view.SetBackButtonEnabled(true);
 | |
|                 view.EmbeddedToolbar.Show();
 | |
|                 // view.SetToolbarDoneButtonText("X");
 | |
|             }
 | |
| 
 | |
|             view.Load(url);
 | |
|             if (waitForReady)
 | |
|             {
 | |
|                 view.OnPageFinished += (v, code, msg) =>
 | |
|                 {
 | |
|                     // 加载完成后展示页面
 | |
|                     view.Show(fadeIn, duration:WindowFadeDuration);
 | |
|                 };
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 view.Show(fadeIn, duration:WindowFadeDuration);   //直接加载页面
 | |
|             }
 | |
|         }
 | |
| 
 | |
|     }
 | |
| } |