1

我正在做一些 WebGL 项目,然后我将我的项目推送到一些网络服务器上。当我打开网站( otom.playback.com.tr )时,我遇到了一些错误,如下所示,

http://otom.playback.com.tr/Release/deneme.js加载资源失败:服务器响应状态为404(未找到)

http://otom.playback.com.tr/Release/deneme.jsgz加载资源失败:服务器响应状态为 404(未找到)

UnityLoader.js:1 未捕获不正确的标头检查

第一个错误说我在网络服务器中找不到 deneme.js。但是统一没有给我一个js文件。我将所有文件添加为 mime 类型,但仍然无法正常工作。

我必须为这个错误做些什么。问候。

4

4 回答 4

1

根据 Unity 的官方文档

Development 或 Release 文件夹包含以下文件(MyProject 文件名代表您的项目的名称)。(请注意,如果您进行发布构建,则此文件夹中的文件会被压缩并具有 .gz 后缀。请参阅下面有关分发大小的评论。)

  • 包含播放器代码的 MyProject.js JavaScript 文件。
  • 一个包含二进制图像的 MyProject.mem 文件,用于初始化播放器的堆内存。
  • 包含资产数据和场景的 MyProject.data 文件。
  • 一个 UnityLoader.js 文件,其中包含在网页中加载 Unity 内容所需的代码。包含在网页中加载 Unity 内容所需的代码的文件。
  • 如果您的 JS 文件丢失,您应该重新构建项目并确保其构建没有任何错误。
  • 确保您的主机允许访问 JS 文件
  • 在部署到 Web 之前,设置本地 Web 服务器以更轻松/更快地测试您的项目

更多信息可以在这里找到:http: //docs.unity3d.com/Manual/webgl-building.html

于 2016-02-16T09:33:20.670 回答
1

我有同样的问题,我把它web.config放在项目文件夹中,或者你可以在 IIS 中手动添加 mime。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".mem" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".memgz" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".data" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".datagz" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".jsgz" mimeType="application/x-javascript; charset=UTF-8" />
        </staticContent>
    </system.webServer>
</configuration>
于 2016-06-28T19:38:10.340 回答
1

也得到了这个 - 在带有 Edge 的 5.3.4f1 上。

我的解决方案 - 使用 7Zip,我将 jsgz 文件(和其他 gz 文件)提取到文件夹中,然后播放器开始工作。

如果您使用像 Dropbox 这样的蹩脚的东西,我认为默认压缩处理不起作用 - 就像我一样 :-)

于 2016-05-14T18:20:33.807 回答
0

如果您可以直接访问您的 Web 服务器,您可能应该设置 MIME。就我而言,IIS 根本不知道如何处理 *.mem、*.data 和其他所有垃圾。

于 2016-03-20T14:13:45.467 回答