CORS issue with HTML5 canvas, javascript

CORS issue with HTML5 canvas, javascript

本文关键字:javascript canvas HTML5 issue with CORS      更新时间:2023-09-26

我有2个HTML5小部件,都是用phaser .js制作的,有图像和音频,它们是通过phaser库加载的。

其中一个小部件(HTML5文件)在没有XAMPP的本地文件系统上工作,而另一个只在通过XAMPP服务器提供服务时工作。

我想知道为什么一些HTML5画布文件工作没有服务器,而大多数时候我们需要一些服务器的画布文件。

这让我很困惑。请帮助。

有一个很好的解释为什么你需要一个web服务器在入门页的Phaser

归根结底,你需要使用一个web服务器,因为:

它与用于访问文件的协议有关。当你通过web请求任何东西,你正在使用http和服务器级别安全性足以确保您只能访问指定的文件出现。但是当你拖拽一个文件时,它会通过本地文件系统加载(技术上的文件://),这显然是受到严格限制的的原因。在file://下没有域的概念,没有服务器级别安全,只是一个原始文件系统。

你的游戏将需要加载资源:图像,音频文件,JSON数据,或者其他JavaScript文件。为了做到这一点需要不受浏览器安全束缚地运行。它需要http://访问游戏文件。为此,我们需要一个web服务器。

从技术上讲,你的Phaser应用程序都不应该在没有web服务器的情况下运行,你让其中一个运行是相当奇怪的。

在预加载代码中设置game.load.crossOrigin = true,它应该可以工作。