পূর্ববর্তী পরিদর্শন করা পৃষ্ঠায় পৌঁছানোর জন্য আমি যখন ফায়ারফক্সের পিছনের বোতামটি ব্যবহার করি, তখন সেই পৃষ্ঠায় স্ক্রিপ্টগুলি আর চলবে না।
এটি সঠিক এবং এটি একটি ভাল জিনিস।
আপনি যখন ফায়ারফক্সে (এবং সাফারি এবং অপেরা) কোনও লিঙ্ক আঘাত করেন, পরের পৃষ্ঠায় যাওয়ার জন্য এটি তত্ক্ষণাত আপনার পৃষ্ঠাটি ধ্বংস করে না। এটি পৃষ্ঠাটি অক্ষত রাখে, কেবল এটিকে দৃশ্য থেকে লুকিয়ে রাখে। আপনি যদি পিছনের বোতামটি আঘাত করেন তবে এটি ডকুমেন্টটি আবার লোড না করেই পুরানো পৃষ্ঠাটি আবার দেখাবে; এটি অনেক দ্রুত, ব্যবহারকারীর জন্য মসৃণ পিছনে / ফরোয়ার্ড পৃষ্ঠা রূপান্তরগুলির ফলে।
এই বৈশিষ্ট্যটিকে বিএফচ্যাচ বলা হয় ।
ব্যবহারকারীর পূর্ববর্তী লোড এবং এটির ব্যবহারের সময় আপনি যে পৃষ্ঠাতে পৃষ্ঠায় যুক্ত করেছেন সেগুলি এখনও থাকবে। পৃষ্ঠার উপাদানগুলির সাথে সংযুক্ত কোনও ইভেন্ট হ্যান্ডলারগুলি এখনও সংযুক্ত থাকবে। আপনার নির্ধারিত যেকোন সময়সীমা / বিরতি এখনও সক্রিয় থাকবে। সুতরাং আপনার লুক্কায়িত এবং পুনরায় দেখানো হয়েছে তা আপনার জানা দরকার এমন খুব কমই আছে। onloadআবার কল করা বা স্ক্রিপ্ট কোডটি ইনলাইন করা ভুল হবে , কারণ যে ফাংশনে আপনি যে কোনও বাধ্যবাধকতা এবং বিষয়বস্তু তৈরি করেছেন সম্ভাব্য বিপর্যয়কর ফলাফল সহ একই কন্টেন্টের উপর দ্বিতীয়বার কার্যকর করা হবে। (যেমন। document.writeইনলাইন স্ক্রিপ্ট পৃষ্ঠা পুরোপুরি ধ্বংস করবে))
লেখার window.onunloadপ্রভাব পড়ার কারণটি হ'ল যে ব্রাউজারগুলি bfcache প্রয়োগ করে তা স্থির করে - যে পৃষ্ঠাগুলির সাথে সামঞ্জস্যের জন্য যেগুলি কখন ফেলে দেওয়া হচ্ছে তা জানতে হবে - যে পৃষ্ঠাটি কখন onunloadঘটবে তা জানার আগ্রহ প্রকাশ করে যে বিএফচাকে সৃষ্টি করবে অক্ষম করা আপনি যখন bfcache থেকে আনার পরিবর্তে এটিতে ফিরে যাবেন তখন এই পৃষ্ঠাটি তাজা লোড হবে।
সুতরাং যদি আপনি সেট করেন window.onunload= function() {};, আপনি আসলে যা করছেন তা ইচ্ছাকৃতভাবে বিএফচাকে ভেঙে দিচ্ছে। এর ফলে আপনার পৃষ্ঠাগুলি নেভিগেট করতে ধীর হবে এবং শেষের বিকল্প হিসাবে ব্যবহার করা উচিত নয়।
আপনি যদি জানতে চান যে ব্যবহারকারী কখন বাজেচাই না করে আপনার পৃষ্ঠায় ফিরে যায় বা ফিরে আসে, আপনি পরিবর্তে ঘটনা onpageshowএবং onpagehideইভেন্টগুলিকে ফাঁদে ফেলতে পারেন :
window.onload=window.onpageshow= function() {
alert('Hello!');
};