আমি একই .html
ফাইলটিতে এইচটিএমএল এবং জাভাস্ক্রিপ্ট একসাথে রাখতে পারি , তবে চিত্রগুলি পৃথক ফাইল হওয়া দরকার। আমার মনে আসার একমাত্র সমাধান হ'ল ব্যবহারকারীকে একটি .zip
ফোল্ডার দেওয়া।
যদিও এটি সুন্দর নয় ... আমি আর কীভাবে এটি করতে পারি?
আমি একই .html
ফাইলটিতে এইচটিএমএল এবং জাভাস্ক্রিপ্ট একসাথে রাখতে পারি , তবে চিত্রগুলি পৃথক ফাইল হওয়া দরকার। আমার মনে আসার একমাত্র সমাধান হ'ল ব্যবহারকারীকে একটি .zip
ফোল্ডার দেওয়া।
যদিও এটি সুন্দর নয় ... আমি আর কীভাবে এটি করতে পারি?
উত্তর:
আপনি ডেটাআরএল-সিনট্যাক্স ব্যবহার করে এইচটিএমএল ডকুমেন্টে চিত্রগুলি এম্বেড করতে পারেন যা বাইনারি চিত্রের ডেটাটির বেস 64 প্রতিনিধিত্বকে একটি চিত্রের এসআরসি-বৈশিষ্ট্য হিসাবে রাখতে দেয়। এটি অন্য যে কোনও ধরণের মিডিয়া ফাইলেও কাজ করে।
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9EFBAoYMhVvMQIAAAAtSURBVHicY/z//z8DHoBH+v///yy4FDEyMjIwMDDhM3lgpaEuh7gTEzDiDxYA9HEPDF90e5YAAAAASUVORK5CYII=">
আপনি যখন সিএসএস স্টাইলশিটগুলি ব্যবহার করেন, আপনি জাভাস্ক্রিপ্টে এগুলি সম্পূর্ণ পদ্ধতিগত তৈরি করতে পারেন।
কেবলমাত্র একটি জিপ ফাইলের মধ্যে সমস্ত ফাইল স্থাপন করা একটি কার্যকর সমাধান নয় কারণ বেশিরভাগ ওয়েব-অ্যাপ্লিকেশনগুলিতে একটি ওয়েব-সার্ভারের প্রয়োজন হয় যাতে তারা এইচটিটিপি-অনুরোধের মাধ্যমে সংস্থানগুলি অ্যাক্সেস করতে পারে। কিছু সিস্টেমে আপনি এর মাধ্যমে ফাইল অ্যাক্সেস করতে পারেনfile://
ইউআরআই-স্কিমের তবে সুরক্ষা-কারণগুলির কারণে সর্বত্র এটি কাজ করার গ্যারান্টিযুক্ত নয় এবং এজ্যাক্স অনুরোধের মতো জিনিসগুলির জন্য ব্যর্থ হবে।
এটি খুব সহজ অ্যাপ্লিকেশনটির জন্য কাজ করতে পারে যেখানে আপনার সর্বাধিক সংস্থানগুলি ইনলাইন রয়েছে তবে এটি সত্যিই সেই পদ্ধতির নয় যা আমি কারও কাছে সুপারিশ করব। বিকল্প আছে যদিও, যেমন:
আপনি নোড-ওয়েবকিট ব্যবহার করে নেটিভ অ্যাপ্লিকেশন হিসাবে আপনার ওয়েব-অ্যাপ্লিকেশনটিকে প্যাকেজ করতে পারেন । এমনকি আপনি আপনার গেমটিতে দেশীয় ডেস্কটপ বৈশিষ্ট্যগুলি (যেমন স্থানীয় সেভ-গেমস) যুক্ত করতে এটি ব্যবহার করতে পারেন।
এটি কোনও " প্যাকেজ এবং সম্পন্ন হয়নি " পদ্ধতি নয় যদিও আপনাকে সম্ভবত আপনার অ্যাপ্লিকেশনটির অংশগুলি আবার লিখতে হবে এবং বিভিন্ন লোডার লিখতে হবে (উদাহরণস্বরূপ, একটি ডেস্কটপ অ্যাপ্লিকেশন দিয়ে আপনি ফাইল সিস্টেমের মাধ্যমে ফাইলগুলি লোড করবেন, আপনি এইচটিটিপি ব্যবহার করার সময় ব্রাউজারে / অনলাইন-গেমের অনুরোধগুলি)।
যদি আপনার প্রাথমিক লক্ষ্যটি প্লেয়ারটিকে আপনার গেমটি অফলাইনে খেলতে দেয় তবে আপনি আপনার অ্যাপ্লিকেশনটিতে অফলাইনে অ্যাক্সেসের অনুমতি দিতে অ্যাপ্লিকেশন-ক্যাশে ব্যবহার করতে পারেন । এটি এমন একটি বৈশিষ্ট্য যা বেশিরভাগ আধুনিক ব্রাউজারে কাজ করে । যুক্ত হওয়া সুবিধাটি হ'ল ব্যবহারকারীর কোনও কিছু ডাউনলোড করতে হবে না এবং অফলাইনে থাকা অবস্থায়ও আপনার গেমটি খেলতে কেবল বুকমার্ক ব্যবহার করতে পারেন।
সংশ্লেষপূর্ণভাবে লোড হচ্ছে এমন সংস্থানগুলির জন্য (এজেএক্স) আপনাকে পৃথক লোডিং প্রক্রিয়াও প্রয়োগ করতে হবে। আপনি অফলাইনে ব্যবহারের জন্য এই সংস্থানগুলি সংরক্ষণ করতে স্থানীয়-স্টোরেজ ব্যবহার করতে পারেন।
file:///
প্রোটোকলটি অ্যাক্সেসের অনুমতি দেয় localStorage
যা সংরক্ষণের জন্য কাজ করে। এটি অনলাইন প্লে ব্যতীত কোনও এইচটিএমএল গেমটিতে যে কিছু করতে পারে তা করতে স্কেল করবে।
গেমটি অফলাইনে চালিত করতে এবং কিছু নেটিভ কার্যকারিতা উপভোগ করার জন্য একটি ক্রোম-ভিত্তিক সমাধানের জন্য, আপনি একটি Chrome অ্যাপ তৈরির কথা বিবেচনা করতে পারেন ।
এইভাবে, আপনি এটিকে ক্রম ওয়েব স্টোরে যুক্ত দৃশ্যমানতার জন্য বিতরণ করতে পারেন, আপনি কয়েকটি শক্তিশালী এপিআই উপভোগ করতে পারেন এবং এটিকে স্ট্যান্ডেলোন অ্যাপের মতো দেখতে আরও সুন্দর করতে পারেন ।
ডাউনসাইডটি অবশ্যই ক্রোমের প্রয়োজন।
ভাল এটি নির্ভর করে আপনি সত্যিই এটিতে কতটা কাজ রাখতে চান। আপনি করতে পারেন ওয়েব API এর বর্তমান সেটটি ব্যবহার করে:
Cmd+S
বা ব্যবহার করেCtrl+S
ব্রাউজারে) বা পিডাব্লুএ হিসাবে পৃষ্ঠাটি ক্যাশে করুন। কেবল তা জেনে রাখুন, মোবাইলে ডেটা ইউআরআই খুব ভাল সম্পাদন করে না।zip
ফাইল দিয়ে চালিয়ে যেতে চান তবে জেএসজিপ চেকআউট করুন । আপনি কীভাবে এটি ব্যবহার করতে পারেন সে সম্পর্কে আমার কোনও ধারণা নেই তবে আমি নিশ্চিত যে কেউ একটি ভাল ধারণা নিয়ে আসতে পারে (সম্ভবত আপনার ফাইলটি জিপ করুন এবং তারপরে বাইনারি ডেটাটিকে স্ট্রিংয়ে রূপান্তর করুন এবং এটি এইচটিএমএলে ইনলাইন স্থাপন করুন)।