unity 内嵌网页 问题记录

📅 2026/7/18 10:34:52
unity 内嵌网页 问题记录
1.下载并导入插件下载 Embedded Browser 2.1.0后导入 unitypackage 包即可2. 使用方法将 Browser (GUI) 预制体 放入 场景 Canvas 下的任意位置即可 设置 Browser (GUI) 的 Browser.cs 的 URL 为想访问的的网页3. 问题记录3.1 网页输入框无法输入解决办法 PointerUIGUI.cs 中 OnSelect 中 Input.imeCompositionMode 修改为 IMECompositionMode.On;3.2 打包后无法加载网页解决方法 1. 去掉中文路径 2. 打包好的 XXX_Data\Plugins\x86_64 中的 下方.dll 文件移动到 XXX_Data\Plugins中在 editor 文件夹下 创建下方BuildAutomation .cs脚本可在打包后自动移动using System.IO;using UnityEditor;using UnityEditor.Callbacks;using UnityEngine;namespace ZFBrowser{public class BuildAutomation{private static string[] fileNames new string[] { “chrome_elf.dll”, “d3dcompiler_43.dll”, “d3dcompiler_47.dll”, “libEGL.dll”, “libGLESv2.dll”, “widevinecdmadapter.dll”, “zf_cef.dll”, “ZFProxyWeb.dll” };[PostProcessBuild(1)] // 括号内的数字代表执行顺序如果有多个后处理脚本数字越小越先执行[reference:2]public static void OnPostProcessBuild(BuildTarget target, string pathToBuiltProject){// 1. 检查目标平台是否为 Windows 独立平台if (target BuildTarget.StandaloneWindows || target BuildTarget.StandaloneWindows64){// 2. 构建目标路径// pathToBuiltProject 是生成的可执行文件(.exe)的完整路径// 使用 Path.GetDirectoryName 获取其所在的文件夹路径string buildFolder Path.GetDirectoryName(pathToBuiltProject);// 组合出 XXX_Data 文件夹的路径string dataFolder Path.Combine(buildFolder, Path.GetFileNameWithoutExtension(pathToBuiltProject) “_Data”);for (int i 0; i fileNames.Length; i){// 源文件路径: XXX_Data/Plugins/x86_64/LibEGL.dllstring sourceFilePath Path.Combine(dataFolder, “Plugins”, “x86_64”, fileNames[i]);// 目标文件路径: XXX_Data/Plugins/LibEGL.dllstring destFilePath Path.Combine(dataFolder, “Plugins”, fileNames[i]);// 3. 执行移动操作if (File.Exists(sourceFilePath)){// 如果目标文件已存在先删除它避免移动失败if (File.Exists(destFilePath)){File.Delete(destFilePath);}// 执行移动操作File.Move(sourceFilePath, destFilePath);// 可选删除现在为空的 x86_64 文件夹// Directory.Delete(Path.Combine(dataFolder, “Plugins”, “x86_64”));UnityEngine.Debug.Log(KaTeX parse error: Expected EOF, got } at position 100: … }̲ …“[BuildAutomation] 未找到源文件: {sourceFilePath}跳过移动。”);}}}}}}3.3 加载web端文件如果是 ftp 的服务端文件URL需要密码时要将路径修改为 ftp://{UserName}:{Password}{ip}/文件夹/文件名.pdf