Когда я ввожу URL-адрес в адресную строку вручную (набирая его), popstate
захватывает его, прежде чем я могу обработать его с помощью другой функции.
Я использую вызов AJAX, чтобы проверить, существует ли файл, прежде чем делать что-либо еще:
let directUrl = location.hash.substr(1) + ".html";
$.ajax({
url: directUrl,
type:'HEAD',
error: function(){
// File doesn't exist - load default page
loadContent("portfolio.html");
},
success: function(){
// File exists - load it
loadContent(directUrl);
}
});
Но иногда popstate
срабатывает перед функцией AJAX
$(window).bind("popstate", function() {
let link = location.hash.substr(1) + ".html";
loadContent(link);
});
popstate
предназначен для перехвата URL, введенных вручную в адресную строку?
Почему это происходит только иногда?
Приветствие.