Popstate захватывает введенный вручную URL - PullRequest
0 голосов
/ 10 июня 2019

Когда я ввожу 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, введенных вручную в адресную строку?

Почему это происходит только иногда?

Приветствие.

...