Je peux mettre le HTML et le JavaScript ensemble dans le même .html
fichier, mais les images doivent être des fichiers séparés. La seule solution qui me vient à l'esprit est de donner à l'utilisateur un .zip
dossier.
Ce n'est pas joli cependant ... Comment puis-je faire cela?
javascript
html5
distribution
Arnaud
la source
la source
Réponses:
Vous pouvez incorporer des images dans le document HTML en utilisant la syntaxe dataurl qui permet de mettre la représentation base64 des données d'image binaire comme attribut src d'une image. Cela fonctionne également sur tout autre type de fichier multimédia.
Lorsque vous utilisez des feuilles de style CSS, vous pouvez les créer entièrement procédurales en JavaScript.
la source
Le simple fait de placer tous les fichiers dans un fichier .zip n'est pas une solution viable car la plupart des applications Web ont besoin d'un serveur Web pour pouvoir accéder aux ressources via des requêtes HTTP. Sur certains systèmes, vous pouvez accéder aux fichiers via le
file://
schéma URI , mais cela ne garantit pas de fonctionner partout pour des raisons de sécurité et échouera pour des choses telles que les demandes AJAX.Cela pourrait fonctionner pour une application très simple où vous avez la plupart des ressources en ligne, mais ce n'est vraiment pas l'approche que je recommanderais à quiconque. Il existe cependant des alternatives, telles que:
Créer une application native
Vous pouvez empaqueter votre application Web en tant qu'application native à l'aide de Node-Webkit . Vous pouvez même l'utiliser pour ajouter des fonctionnalités de bureau natives (telles que des sauvegardes locales) à votre jeu.
Cependant, ce n'est pas une approche « package et terminé ». -Demandes dans un navigateur / jeu en ligne).
Utilisez les fonctionnalités HTML5 pour autoriser l'accès hors ligne à votre application
Si votre objectif principal est de permettre au joueur de jouer à votre jeu hors ligne, vous pouvez également utiliser le cache d' application pour autoriser l'accès hors ligne à votre application. Il s'agit d'une fonctionnalité qui fonctionne dans la plupart des navigateurs modernes . L'avantage supplémentaire est que l'utilisateur n'a rien à télécharger et peut simplement utiliser un signet pour jouer à votre jeu même hors ligne.
Pour les ressources qui sont chargées de manière asynchrone (AJAX), vous devrez également implémenter des mécanismes de chargement distincts. Vous pouvez utiliser le stockage local pour enregistrer ces ressources pour une utilisation hors ligne.
la source
file:///
accès au protocolelocalStorage
, ce qui fonctionne pour la sauvegarde. Il évoluera pour faire tout ce que l'on peut faire dans un jeu HTML, sauf le jeu en ligne.Pour qu'une solution basée sur Chrome rende le jeu hors ligne et bénéficie de certaines fonctionnalités natives, vous pouvez envisager de créer une application Chrome .
De cette façon, vous pouvez le distribuer dans le Chrome Web Store pour plus de visibilité, vous pouvez profiter de certaines API puissantes et le faire ressembler davantage à une application autonome .
L'inconvénient, bien sûr, nécessite Chrome.
la source
Eh bien, cela dépend de la quantité de travail que vous voulez vraiment y consacrer. En utilisant l'ensemble actuel d'API Web, vous pouvez:
Cmd+S
ouCtrl+S
dans le navigateur) ou mettez la page en cache en tant que PWA. Sachez simplement que, sur mobile, les dataURI ne fonctionnent pas très bien.zip
fichier, consultez JSZip . Je ne sais pas comment vous pouvez l'utiliser, mais je suis sûr que quelqu'un peut trouver une bonne idée (peut-être compresser votre fichier, puis convertir les données binaires en chaîne et les placer en ligne dans le html).la source