Saya bisa meletakkan HTML dan JavaScript bersama-sama di .html
file yang sama , tetapi gambar harus file terpisah. Satu-satunya solusi yang muncul di benak saya adalah memberi kepada pengguna .zip
folder.
Ini tidak cantik ... Bagaimana lagi saya bisa melakukan ini?
javascript
html5
distribution
Arnaud
sumber
sumber
Jawaban:
Anda dapat menanamkan gambar dalam dokumen HTML menggunakan sintaks dataurl yang memungkinkan untuk menempatkan representasi base64 dari data gambar biner sebagai atribut-src dari suatu gambar. Ini juga berfungsi pada semua jenis file media lainnya.
Saat Anda menggunakan lembar gaya CSS, Anda dapat membuat ini sepenuhnya prosedural dalam JavaScript.
sumber
Hanya dengan meletakkan semua file ke dalam file .zip bukanlah solusi yang layak karena sebagian besar aplikasi web memerlukan server web sehingga mereka dapat mengakses sumber daya melalui permintaan HTTP. Pada beberapa sistem Anda dapat mengakses file melalui
file://
skema URI , tetapi itu tidak dijamin untuk bekerja di mana-mana karena alasan keamanan dan akan gagal untuk hal-hal seperti permintaan AJAX.Ini mungkin bekerja untuk aplikasi yang sangat sederhana di mana Anda memiliki sebagian besar sumber daya inline, tetapi ini sebenarnya bukan pendekatan yang saya sarankan kepada siapa pun. Ada beberapa alternatif, seperti:
Bangun aplikasi asli
Anda dapat mengemas aplikasi web Anda sebagai aplikasi asli menggunakan Node-Webkit . Anda bahkan dapat menggunakan ini untuk menambahkan fitur desktop asli (seperti save-game lokal) ke game Anda.
Ini bukan pendekatan " paket dan selesai " .. Anda mungkin harus menulis ulang bagian dari aplikasi Anda dan menulis pemuat yang berbeda (mis. Dengan aplikasi desktop Anda lebih suka memuat file melalui sistem file, sedangkan Anda menggunakan HTTP -Pertanyaan dalam browser / game online).
Gunakan fitur HTML5 untuk memungkinkan akses offline aplikasi Anda
Jika tujuan utama Anda adalah untuk memungkinkan pemain untuk memainkan game Anda secara offline, maka Anda juga dapat menggunakan cache aplikasi untuk memungkinkan akses offline aplikasi Anda. Ini adalah fitur yang berfungsi di sebagian besar browser modern . Manfaat tambahannya adalah bahwa pengguna tidak perlu mengunduh apa pun dan cukup menggunakan bookmark untuk memainkan game Anda bahkan saat offline.
Untuk sumber daya yang dimuat secara tidak sinkron (AJAX) Anda juga harus menerapkan mekanisme pemuatan yang terpisah. Anda dapat menggunakan penyimpanan lokal untuk menghemat sumber daya ini untuk penggunaan offline.
sumber
file:///
protokol untuk mengakseslocalStorage
, yang berfungsi untuk menyimpan. Ini akan skala untuk melakukan apa pun yang dapat dilakukan seseorang dalam permainan HTML, kecuali bermain online.Untuk solusi berbasis Chrome untuk membuat game berjalan offline dan menikmati beberapa fungsi asli, Anda dapat mempertimbangkan membuat Aplikasi Chrome .
Dengan cara ini, Anda dapat mendistribusikannya di Toko Web Chrome untuk visibilitas tambahan, Anda dapat menikmati beberapa API yang kuat , dan membuatnya lebih mirip aplikasi mandiri .
Kelemahannya, tentu saja, membutuhkan Chrome.
sumber
Yah itu tergantung pada seberapa banyak pekerjaan yang ingin Anda masukkan ke dalamnya. Dengan menggunakan set API Web saat ini, Anda dapat:
Cmd+S
atauCtrl+S
di browser) atau cache halaman sebagai PWA. Ketahuilah bahwa, di seluler, dataURI tidak berkinerja baik.zip
file, checkout JSZip . Saya tidak tahu bagaimana Anda bisa menggunakannya, tapi saya yakin seseorang dapat datang dengan ide yang bagus (mungkin zip file Anda dan kemudian mengkonversi data biner ke string dan tempatkan inline ke dalam html).sumber