Я могу поместить HTML и JavaScript вместе в один .html
файл, но изображения должны быть отдельными файлами. Единственное решение, которое приходит мне в голову - это дать пользователю .zip
папку.
Это не красиво, хотя ... Как еще я могу это сделать?
javascript
html5
distribution
Arnaud
источник
источник
Ответы:
Вы можете встраивать изображения в HTML-документ, используя синтаксис dataurl, который позволяет поместить представление base64 данных двоичного изображения в качестве src-атрибута изображения. Это также работает с любым другим типом медиа-файла.
Когда вы используете таблицы стилей CSS, вы можете создавать их полностью процедурно в JavaScript.
источник
Простое помещение всех файлов в ZIP-файл не является жизнеспособным решением, поскольку большинству веб-приложений необходим веб-сервер, чтобы они могли обращаться к ресурсам через HTTP-запросы. В некоторых системах вы можете получить доступ к файлам через
file://
URI-схему , но это не гарантирует, что она будет работать везде из-за соображений безопасности и не будет работать для таких вещей, как запросы AJAX.Это может работать для очень простого приложения, в котором у вас есть большинство встроенных ресурсов, но это действительно не тот подход, который я бы рекомендовал никому. Хотя есть альтернативы, такие как:
Создайте нативное приложение
Вы можете упаковать свое веб-приложение как нативное, используя Node-Webkit . Вы даже можете использовать это, чтобы добавить в игру встроенные функции рабочего стола (например, локальные сохранения).
Это не подход « пакет и готово », хотя ... вам, вероятно, придется переписывать части вашего приложения и писать разные загрузчики (например, с настольным приложением вы скорее загрузите файлы через файловую систему, тогда как вы используете HTTP -Запросы в браузере / онлайн-игре).
Используйте функции HTML5, чтобы разрешить автономный доступ к вашему приложению
Если ваша основная цель состоит в том, чтобы позволить игроку играть в вашу игру в автономном режиме, вы также можете использовать кэш приложения, чтобы разрешить автономный доступ к вашему приложению. Эта функция работает в большинстве современных браузеров . Дополнительным преимуществом является то, что пользователю не нужно ничего скачивать, и он может просто использовать закладку, чтобы играть в свою игру, даже когда он не в сети.
Для ресурсов, которые загружаются асинхронно (AJAX), вам также потребуется реализовать отдельные механизмы загрузки. Вы могли бы использовать локальное хранилище, чтобы сохранить эти ресурсы для автономного использования.
источник
file:///
доступ к протоколуlocalStorage
, который работает для сохранения. Он будет выполнять все, что можно в HTML-игре, кроме онлайн-игры.Для решения на основе Chrome, позволяющего запустить игру в автономном режиме и использовать некоторые собственные функции, вы можете рассмотреть возможность создания приложения Chrome .
Таким образом, вы можете распространять его в Chrome Web Store для дополнительной наглядности, вы можете пользоваться некоторыми мощными API большей и делать его больше похожим на отдельное приложение .
Недостатком, конечно же, является необходимость в Chrome.
источник
Ну, это зависит от того, сколько работы вы действительно хотите вложить. Используя текущий набор веб-API, вы можете:
Cmd+S
илиCtrl+S
в браузере), либо кэшируйте страницу как PWA. Просто знайте, что на мобильных устройствах dataURI работают не очень хорошо.zip
файлом, оформите заказ JSZip . Я понятия не имею, как вы можете использовать его, но я уверен, что кто-то может придумать хорошую идею (может быть, ZIP-файл, а затем преобразовать двоичные данные в строку и поместить их в HTML).источник