HTML5 এর ইতিহাস বৈশিষ্ট করা বিচিত্র নয়।
history.pushState()কোনও popstateইভেন্ট প্রেরণ করে না বা নিজেই কোনও নতুন পৃষ্ঠা লোড করে না । এটি কেবল রাষ্ট্রকে ইতিহাসের দিকে ঠেলে দেওয়া ছিল। এটি একক পৃষ্ঠার অ্যাপ্লিকেশনগুলির জন্য একটি "পূর্বাবস্থায় ফিরিয়ে আনুন" বৈশিষ্ট্য। আপনাকে ম্যানুয়ালি কোনও popstateইভেন্ট পাঠাতে হবে বা history.go()নতুন অবস্থায় নেভিগেট করতে ব্যবহার করতে হবে। ধারণাটি হ'ল কোনও রাউটার popstateইভেন্টগুলি শুনতে এবং আপনার জন্য নেভিগেশন করতে পারে।
কিছু বিষয় লক্ষণীয়:
history.pushState()এবং ইভেন্ট history.replaceState()প্রেরণ করবেন না popstate।
history.back(), history.forward()এবং ব্রাউজারের পিছনের এবং ফরোয়ার্ড বোতামগুলি popstateইভেন্টগুলি প্রেরণ করে।
history.go()এবং history.go(0)একটি পূর্ণ পৃষ্ঠা পুনরায় লোড করুন এবং popstateইভেন্টগুলি প্রেরণ করবেন না ।
history.go(-1)(1 পৃষ্ঠার পিছনে) এবং history.go(1)(1 পৃষ্ঠার সামনে) প্রেরণ popstateইভেন্টগুলি করে।
আপনি একটি নতুন রাষ্ট্র এবং একটি পপস্টেট ইভেন্ট প্রেরণে ইতিহাসের এপিআই ব্যবহার করতে পারেন।
history.pushState({message:'New State!'}, 'New Title', '/link');
window.dispatchEvent(new PopStateEvent('popstate', {
bubbles: false,
cancelable: false,
state: history.state
}));
তারপরে popstateরাউটার সহ ইভেন্টগুলি শুনুন ।