2016-09-19 2 views
0

У меня есть два виджета HTML5, оба сделаны с Phaser.js и имеют изображения и аудио, которые загружаются на лету библиотекой фазер.Проблема с CORS с холстом HTML5, javascript

Один из виджета (файл HTML5) работает с локальной файловой системой без XAMPP, а другой работает только при обслуживании через сервер XAMPP.

Я хочу знать Почему некоторые файлы холста HTML5 работают без сервера, в то время как большую часть времени нам нужен какой-то сервер для файлов холста.

Его большое замешательство для меня. Справка Plz.

+0

Проблемы с CORS возникают, когда загружается ** R ** источник ** C ** ross ** O ** rigin и сервер не позволяет использовать ** R ** источники ** S ** hared - если страница загружается из локальной файловой системы, то локальная файловая система ** R ** - источники считаются одинаковыми ** O ** rigin - хотя, я думаю, у Chrome могут быть разные представления об этом. Это сводится к этому ... как загружается главная страница, как загружается ** R ** esource - если они одинаковые, тогда это должно быть хорошо, если они разные, тогда вам нужны заголовки CORS для продолжения –

ответ

2

Там очень хорошее объяснение того, почему вам нужен веб-сервер на getting started page for Phaser.

Что это сводится к тому, что вам нужно использовать веб-сервер, потому что:

Это связано с протоколом используется для доступа к файлам. Когда вы запросите что-либо через Интернет, вы используете http, а уровень сервера достаточно для обеспечения доступа к файлам, которые вы имеете в виду, . Но когда вы перетаскиваете файл, он загружается через локальную файловую систему (технически файл: //), и это массовое ограничение, для очевидных причин . В файле: // нет концепции доменов, нет уровня сервера , просто необработанная файловая система.

...

ваша игра будет необходимо загрузить ресурсы: изображения, звуковые файлы, JSON данные, возможно, и другие файлы JavaScript. И для этого должен беспрепятственно запускаться в кандалах безопасности браузера. Нужно http: // доступ к файлам игры. И для этого нам нужен веб-сервер.

Технически ни одно из ваших приложений Phaser не должно работать без веб-сервера, довольно странно, что у вас есть один из них.

+0

Это удивительная часть, что одно приложение phaser запускается локально без каких-либо проблем, а другое - нет. оба имеют почти одинаковый актив (аудио/img). Не знаю, как это происходит. :) – raju

0

Комплект game.load.crossOrigin = true в вашем преднагрузочном коде, и он должен работать.

Смежные вопросы