history.pushState
ইতিহাসের স্ট্যাকের উপরে বর্তমান পৃষ্ঠার স্থিতি চাপায় এবং অ্যাড্রেস বারে ইউআরএল পরিবর্তন করে। সুতরাং, যখন আপনি ফিরে যাবেন, সেই রাষ্ট্রটি (আপনি যে জিনিসটি দিয়েছিলেন) আপনাকে ফিরিয়ে দেওয়া হবে।
বর্তমানে, এটি সবই করে। নতুন পৃষ্ঠা প্রদর্শন করা বা পৃষ্ঠার শিরোনাম পরিবর্তন করার মতো অন্য কোনও পৃষ্ঠার ক্রিয়া আপনার দ্বারা করা আবশ্যক।
আপনার লিঙ্ক করা ডাব্লু 3 সি স্পেসটি কেবল একটি খসড়া, এবং ব্রাউজার এটি অন্যভাবে প্রয়োগ করতে পারে। উদাহরণস্বরূপ, ফায়ারফক্সtitle
প্যারামিটারটিকে সম্পূর্ণ উপেক্ষা করে ।
এখানে pushState
আমি আমার ওয়েবসাইটে ব্যবহার করি তার একটি সাধারণ উদাহরণ ।
(function($){
// Use AJAX to load the page, and change the title
function loadPage(sel, p){
$(sel).load(p + ' #content', function(){
document.title = $('#pageData').data('title');
});
}
// When a link is clicked, use AJAX to load that page
// but use pushState to change the URL bar
$(document).on('click', 'a', function(e){
e.preventDefault();
history.pushState({page: this.href}, '', this.href);
loadPage('#frontPage', this.href);
});
// This event is triggered when you visit a page in the history
// like when yu push the "back" button
$(window).on('popstate', function(e){
loadPage('#frontPage', location.pathname);
console.log(e.originalEvent.state);
});
}(jQuery));