অভ্যন্তরীণ এইচটিএমএল সেট করা সিঙ্ক্রোনাস, আপনি ডিওএম এ করতে পারেন এমন বেশিরভাগ পরিবর্তন। তবে ওয়েবপৃষ্ঠাটি উপস্থাপন করা আলাদা গল্প is
(মনে রাখবেন, ডিওএম মানে "ডকুমেন্ট অবজেক্ট মডেল" It's এটি কেবলমাত্র একটি "মডেল", যা উপাত্তের উপস্থাপনা। ব্যবহারকারী তাদের পর্দায় যা দেখেন সেই মডেলটি কীভাবে দেখানো উচিত তার চিত্র So সুতরাং, মডেলটি পরিবর্তন করা তাত্ক্ষণিকভাবে ঘটে না ছবিটি পরিবর্তন করুন - এটি আপডেট হতে কিছুটা সময় নেয়))
জাভাস্ক্রিপ্ট চালানো এবং ওয়েবপৃষ্ঠা রেন্ডারিং আসলে আলাদাভাবে ঘটে। - এটা সরলভাবে জাভাস্ক্রিপ্ট প্রথম সব পৃষ্ঠা রানে (খুঁজে বার করো ঘটনা লুপ থেকে করা, এই চমৎকার ভিডিও এবং তারপর আরো বিস্তারিত জন্য) পরে যে ব্রাউজার ব্যবহারকারী দেখার জন্য ওয়েবপেজ কোনো পরিবর্তন রেন্ডার করে। এই কারণেই "ব্লকিং" এত বড় চুক্তি - গণনাগতভাবে নিবিড় কোড চালানো ব্রাউজারটিকে "রান জেএস" ধাপটি পেরিয়ে যাওয়া এবং "পৃষ্ঠাটি রেন্ডার" পদক্ষেপে বাধা দেয়, যার ফলে পৃষ্ঠাটি হিমশীতল বা হৈচৈ হয়ে যায়।
ক্রোমের পাইপলাইনটি দেখতে এমন দেখাচ্ছে:
আপনি দেখতে পাচ্ছেন, জাভাস্ক্রিপ্টের সমস্ত আগে ঘটে। তারপরে পৃষ্ঠাটি শৈলীযুক্ত, ছাঁটাই, আঁকা এবং সংমিশ্রিত হবে - "রেন্ডার"। এই পাইপলাইনগুলির প্রত্যেকটিই প্রতিটি ফ্রেম কার্যকর করবে না। এটি পৃষ্ঠার উপাদানগুলি কী পরিবর্তন হয়েছে, যদি কোনও হয়েছে এবং কীভাবে তাদের পুনরায় রেন্ডার করা দরকার তার উপর নির্ভর করে।
দ্রষ্টব্য: alert()
এছাড়াও জাভাস্ক্রিপ্ট পদক্ষেপের সময় সিঙ্ক্রোনাস এবং কার্যকর করা হয়, এজন্য আপনি ওয়েবপৃষ্ঠায় পরিবর্তনগুলি দেখার আগে সতর্কতা ডায়ালগটি উপস্থিত হয়।
আপনি এখন জিজ্ঞাসা করতে পারেন "ধরে থাকুন, পাইপলাইনের সেই 'জাভাস্ক্রিপ্ট' ধাপে ঠিক কী চলে? আমার সমস্ত কোড কি প্রতি সেকেন্ডে 60 বার চলে?" উত্তরটি "না", এবং এটি জেএস ইভেন্টের লুপটি কীভাবে কাজ করে তা ফিরে যায়। ইভেন্ট শ্রোতা, সময়সীমা, যা কিছু হোক না কেন - জেএস কোড কেবল স্ট্যাকের মধ্যে থাকলে চলবে। পূর্ববর্তী ভিডিও দেখুন (সত্যিই)।
https://developers.google.com/web/fundamentals/performance/rendering/