Unity在网页上运行WebGL问题

Unity在网页上运行WebGL问题:It seems your browser does not support running Unity WebGL content from file:// urls. Please upload it to an http server, or try a different browser

前言

项目要开发B/S模式,需要使用WebGL,目前还是前期阶段,遇到了几个问题,在此记录一下。
Unity版本:2019.4
浏览器:谷歌浏览器

Unity打包WebGL

目前按照Unity默认设置打包。
在这里插入图片描述

在网页上运行遇到的问题

如果是BuildAndRun可以直接运行,但是如果是Build显示下面错误: It seems your browser does not support running Unity WebGL content from file:// urls. Please upload it to an http server, or try a different browser。这个问题是网页不支持直接双击 index.html 方式,需要将工程放到服务上才行。
在这里插入图片描述

解决方法

  1. 进入控制面板 -> 程序 -> 启用或关闭Windows功能,将选中的内容勾选上。
    在这里插入图片描述

在网站上输入 http://localhost,弹出以下页面说明 IIS 开启成功。
在这里插入图片描述

  1. IIS部署
    在计算机管理中找到服务和应用程序 -> IIS管理器 -> 网站
    在这里插入图片描述
    右键网站选择添加网站,在弹出的页面中添写信息,网站名称可以随便写,物理路径找到打包的 index.html 文件夹,端口写没有被占用的端口号,点击确定。
    在这里插入图片描述
    这时网站已经部署成功,右键刚创建的网站,选择浏览,会打开 index.html 所在文件夹。创建一个 .txt 文本,将名称改为 Web.config,将下面内容复制到文件中,保存文件,然后输入 http://localhost:8088/ (注:写自己创建时候的端口号),就可以看到程序正常运行了。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <remove fileExtension=".mem" />
      <remove fileExtension=".data" />
      <remove fileExtension=".unity3d" />
      <remove fileExtension=".jsbr" />
      <remove fileExtension=".membr" />
      <remove fileExtension=".databr" />
      <remove fileExtension=".unity3dbr" />
      <remove fileExtension=".jsgz" />
      <remove fileExtension=".memgz" />
      <remove fileExtension=".datagz" />
      <remove fileExtension=".unity3dgz" />
      <remove fileExtension=".json" />
      <remove fileExtension=".unityweb" />
 
      <mimeMap fileExtension=".mem" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".data" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".unity3d" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".jsbr" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".membr" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".databr" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".unity3dbr" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".jsgz" mimeType="application/x-javascript; charset=UTF-8" />
      <mimeMap fileExtension=".memgz" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".datagz" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".unity3dgz" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".json" mimeType="application/json; charset=UTF-8" />
      <mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".ab" mimeType="application/octet-stream" />
    </staticContent>
        <directoryBrowse enabled="true" />
        <httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Credentials: " value="true" />
                <add name="Access-Control-Allow-Headers" value="Accept, X-Access-Token, X-Application-Name, X-Request-Sent-Time" />
                <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS" />
                <add name="Access-Control-Allow-Origin" value="*" />
            </customHeaders>
        </httpProtocol>
  </system.webServer>
</configuration>