আধুনিক ব্রাউজার এবং এইচটিএমএল 5pushState এ উইন্ডোতে একটি পদ্ধতি বলা হয় history। এটি URL টি পরিবর্তন করবে এবং পৃষ্ঠাটি লোড না করে ইতিহাসে ঠেলে দেবে।
আপনি এটির মতো এটি ব্যবহার করতে পারেন, এতে 3 টি প্যারামিটার লাগবে, 1) রাষ্ট্রীয় অবজেক্ট 2) শিরোনাম এবং একটি ইউআরএল):
window.history.pushState({page: "another"}, "another page", "example.html");
এটি ইউআরএল পরিবর্তন করবে, তবে পৃষ্ঠাটি পুনরায় লোড করবে না। এছাড়াও, এটি পৃষ্ঠাটি বিদ্যমান কিনা তা পরীক্ষা করে না, তাই আপনি যদি কিছু জাভাস্ক্রিপ্ট কোড করেন যা ইউআরএলে প্রতিক্রিয়া প্রকাশ করছে, আপনি তাদের সাথে এইভাবে কাজ করতে পারেন।
এছাড়াও history.replaceState()ঠিক একই জিনিসটি রয়েছে যা বাদ দিয়ে এটি নতুন ইতিহাস তৈরির পরিবর্তে বর্তমান ইতিহাসটি সংশোধন করবে!
এছাড়াও আপনি history.pushStateউপস্থিত থাকলে তা পরীক্ষা করার জন্য একটি ফাংশন তৈরি করতে পারেন , তারপরে বাকিটি এভাবে চালিয়ে যান:
function goTo(page, title, url) {
if ("undefined" !== typeof history.pushState) {
history.pushState({page: page}, title, url);
} else {
window.location.assign(url);
}
}
goTo("another page", "example", 'example.html');
এছাড়াও আপনি এর #জন্য পরিবর্তন করতে পারেন <HTML5 browsersযা পৃষ্ঠাটি পুনরায় লোড করবে না। অ্যাঙ্গুলার হ্যাশট্যাগ অনুযায়ী এসপিএ করতে এভাবেই ব্যবহার করে ...
পরিবর্তন #করা বেশ সহজ, এর মতো করা:
window.location.hash = "example";
এবং আপনি এটি এটি সনাক্ত করতে পারেন:
window.onhashchange = function () {
console.log("#changed", window.location.hash);
}