Unity之webGL问题汇总

1、发布出来的webgl的index.html直接拖拽到浏览器无法正常打开?

  • 需要使用IIS或者phpStudy等“服务器”打开。

2、无法直接播放视频?

  • 浏览器协议不支持直接播放视频或者音频。需要点击一下页面再去播放。

3、同一局域网的其他电脑为啥不能访问本机的IIS?

  • 需要跨域。在Build文件夹平级目录下放置crossdomain.xml文件。
// crossdomain.xml长这样:

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>

4、报错:The error was:Uncaught SyntaxError

  • 需要添加Web.config,放置在Build文件夹平级目录。
// Web.config长这样:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD, OPTIONS" />
        <add name="Access-Control-Allow-Credentials" value="true" />
        <add name="Access-Control-Allow-Headers" value="accept, X-Requested-With, origin, content-type" />
		<add name="Access-Control-Allow-Origin" value="*" />
        <!--<add name="Access-Control-Allow-Headers" value="Accept, X-Access-Token, X-Application-Name,X-Request-Sent-Time" />-->
      </customHeaders>
    </httpProtocol>
    <directoryBrowse enabled="true" showFlags="Date, Time, Size, Extension, LongDate" />
    <staticContent>
      <remove fileExtension=".ts" />
      <remove fileExtension=".xml" />
      <mimeMap fileExtension=".ipa" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".assetbundle" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".unity3d" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".mem" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".data" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".memgz" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".datagz" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".unity3dgz" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".jsgz" mimeType="application/x-javascript; charset=UTF-8" />
      <!--<mimeMap fileExtension=".mp4" mimeType="application/octet-stream" />-->
      <mimeMap fileExtension=".do" mimeType="do-application/octet-stream" />
      <mimeMap fileExtension=".unityweb" mimeType="application/binary" />
      <mimeMap fileExtension=".xml" mimeType="text/xml" />
      <mimeMap fileExtension=".m3u8" mimeType="application/x-mpegURL" />
      <mimeMap fileExtension=".ts" mimeType="video/MP2T" />
      <mimeMap fileExtension=".ab" mimeType="application/octet-stream" />
      <!--<mimeMap fileExtension=".json" mimeType="application/json" />-->
    </staticContent>
    <!--<validation validateIntegratedModeConfiguration="false" />-->
    <!--<httpProtocol>
            <customHeaders>
              <remove name="X-Powered-By" />
            </customHeaders>
        </httpProtocol>-->
  </system.webServer>

  <system.web>
    <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />
    <pages validateRequest="false" />
  </system.web>

</configuration>

5、webgl怎么Quit呢?
查看此篇

6、wasm streaming compile failed: TypeError: Failed to execute ‘compile’ on ‘WebAssembly’: Incorrect response MIME type. Expected ‘applicatipn/wasm’.
答:在打包的webgl工程Build文件夹的同级目录下新建一个.htaccess文件,内容为:

<IfModule mod_mime.c>
    AddType application/wasm .wasm
</IfModule>

7、Access to XMLHttpRequest at ‘https://cdp.cloud.unity.cn/config’ from origin ‘http://awewebgl:7301’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
答:跨域的处理了,cdp这个把package下的UnityConnectSettings删掉了,最后可能是因为读取xml太大导致的超内存(ps:8M多的xml,好多多余的key。。)

猜你喜欢

转载自blog.csdn.net/itsxwz/article/details/127746720
今日推荐