Popstate正在劫持手动输入的URL

时间:2019-06-10 01:49:13

标签: javascript ajax browser-history popstate

当我在地址栏中手动输入网址(通过输入网址)时,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是手动输入到地址栏中的吗?

为什么有时只发生这种情况?

干杯。

0 个答案:

没有答案