দুর্দান্ত প্রশ্ন।
"আপনার পৃষ্ঠার নীচে স্ক্রিপ্টগুলি রাখুন" পরামর্শ এবং এটি কী সমস্যা (গুলি) সমাধান করার চেষ্টা করে তার চারদিকে কিছু বিভ্রান্তি রয়েছে। এই প্রশ্নের জন্য আমি পৃষ্ঠার নীচে স্ক্রিপ্টগুলি রাখলে পারফরম্যান্স / লোডটাইমগুলি প্রভাবিত হয় কিনা তা নিয়ে কথা বলতে যাচ্ছি না। আপনি কেবল $(document).ready পৃষ্ঠার নীচে স্ক্রিপ্টগুলি রাখলে আপনার প্রয়োজন কিনা তা নিয়ে আমি কেবলই কথা বলতে যাচ্ছি ।
আমি ধরে নিচ্ছি যে আপনি তত্ক্ষণাত্ আপনার স্ক্রিপ্টগুলিতে ( documentবা যত সহজ সরল কিছু document.getElementById) চালাচ্ছেন সেগুলিতে আপনি ডমকে উল্লেখ করছেন । আমি ধরে নিচ্ছি যে আপনি কেবল এই [ডোম-রেফারেন্সিং] ফাইলগুলি সম্পর্কে জিজ্ঞাসা করছেন। আইওডাব্লু, লাইব্রেরি স্ক্রিপ্ট বা স্ক্রিপ্ট যা আপনার ডোম-রেফারেন্সিং কোডের (jQuery এর মতো) পৃষ্ঠার আগে স্থাপন করা দরকার।
আপনার প্রশ্নের উত্তর দেওয়ার জন্য : আপনি যদি পৃষ্ঠার নীচে আপনার ডোম-রেফারেন্সিং স্ক্রিপ্টগুলি অন্তর্ভুক্ত করেন, না, আপনার প্রয়োজন নেই $(document).ready।
ব্যাখ্যা : থাম্ব নিয়মের মতো সম্পর্কিত সম্পর্কিত বাস্তবায়নগুলির সহায়তা ছাড়াই হ'ল: পৃষ্ঠার মধ্যে ডোম উপাদানগুলির সাথে ইন্টারেক্ট করে এমন যে কোনও কোড পৃষ্ঠাতে নীচে উল্লেখ করা উচিত: সবচেয়ে সহজ কাজটি হচ্ছে কোডটি বন্ধ হওয়ার আগে স্থাপন করা । দেখুন এখানে এবং এখানে । এটি IE এর ভয়ঙ্কর "অপারেশন বাতিল" ত্রুটির আশপাশেও কাজ করে ।"onload"$(document).ready</body>
এটি বলার পরে, এটি কোনওভাবেই ব্যবহারকে অকার্যকর করে দেয় $(document).ready। কোনও বস্তুটি লোড হওয়ার আগে তার উল্লেখ করা হ'ল DOM জাভাস্ক্রিপ্টে শুরু করার সময় সর্বাধিক সাধারণ ভুল (এটি গণনা করার জন্য অনেকবার প্রত্যক্ষ হয়েছে)। এটি সমস্যার জন্য jQuery এর সমাধান, এবং এটি উল্লেখ করে যে এই স্ক্রিপ্টটি যেখানে উল্লেখ করা হয়েছে এটি ডিওএম উপাদানগুলির সাথে সম্পর্কিত হবে about এটি ডেভেলপারদের জন্য একটি বিশাল জয়। তাদের চিন্তা করতে হবে এটি কেবল একটি কম বিষয়।
এছাড়াও, সমস্ত ডম-রেফারেন্সিং স্ক্রিপ্টগুলি পৃষ্ঠার নীচে সরিয়ে ফেলা প্রায়শই কঠিন বা অযৌক্তিক (উদাহরণস্বরূপ যে কোনও স্ক্রিপ্ট যা document.writeকল দেয় সেগুলি রাখতে হয়)। অন্যান্য সময়, আপনি এমন একটি কাঠামো ব্যবহার করছেন যা কিছু টেম্পলেট সরবরাহ করে বা গতিশীল জাভাস্ক্রিপ্টের টুকরো তৈরি করে, যার মধ্যে জেএসের আগে অন্তর্ভুক্ত করা দরকার এমন রেফারেন্স ফাংশনগুলি ।
সবশেষে, এটি সমস্ত ডিওএম-রেফারেন্সিং কোডটিতে জ্যাম দেওয়ার জন্য "সর্বোত্তম অনুশীলন" হিসাবে ব্যবহৃত হত window.onload, তবে এটি ডকুমেন্টের কারণে কার্যকরভাবে $(document).readyবাস্তবায়িত হয়েছিল ।
এগুলি সমস্ত $(document).readyখুব তাড়াতাড়ি DOM উপাদানগুলির রেফারেন্সিংয়ের সমস্যাটির জন্য আরও উন্নততর, ব্যবহারিক এবং সাধারণ সমাধান হিসাবে যুক্ত করে।