ইতিহাস API-এর replaceState মেথড ব্যবহার করে হ্যাশ সরান
জাভাস্ক্রিপ্টের history.replaceState() মেথড ব্যবহার করে আপনি বর্তমান ব্রাউজার ইতিহাস এন্ট্রি পরিবর্তন না করেই URL থেকে হ্যাশ (#) অংশটি সরাতে পারেন। এটি পেজ রিফ্রেশ ছাড়াই URL আপডেট করার একটি সাফল্যভাবী উপায়।
সিনট্যাক্স
history.replaceState(null, null, ' ');
ব্যাখ্যা
- প্রথম প্যারামিটার (state): সাধারণত
nullদেওয়া হয়, কারণ এখানে স্টেট অবজেক্টের প্রয়োজন নেই। - দ্বিতীয় প্যারামিটার (title): ব্রাউজাররা এই প্যারামিটারটি উপেক্ষা করে, তাই
nullদিন। - তৃতীয় প্যারামিটার (URL): নতুন URL সেট করুন। হ্যাশ সরাতে খালি স্ট্রিং
' 'বাwindow.location.pathname + window.location.searchব্যবহার করুন।
উদাহরণ
// শুধু হ্যাশ সরান
history.replaceState(null, null, window.location.pathname + window.location.search);
এই কোডটি বর্তমান পেজের পথ এবং কুয়েরি স্ট্রিং রেখে শুধু হ্যাশ অংশটি (# এবং তার পরের অংশ) সরিয়ে দেয়। ব্যবহারকারী ব্রাউজারের ব্যাক বাটনে ক্লিক করলে আগের হ্যাশ-যুক্ত URL-এ ফিরে যাবে না, কারণ replaceState ইতিহাস এন্ট্রি প্রতিস্থাপন করে।
সাবধানতা
- এই মেথডটি শুধুমাত্র একই オリজিন (origin) এর URL-এ কাজ করে।
- পুরানো ব্রাউজারlerde (IE 9 এর নিচে) সমর্থন নেই।
- যদি আপনি ইতিহাসে একটি নতুন এন্ট্রি যোগ করতে চান (তाकি ব্যাক বাটন কাজ কর सके), তবে
history.pushState()ব্যবহার করুন।