Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 历史Api_Javascript_Jquery_Html - Fatal编程技术网

Javascript 历史Api

Javascript 历史Api,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试历史api,但我发现了以下内容 当我从ajax链接移动到非ajax链接并单击后退时,只显示从ajax获得的内容,而不是整个页面。那么,为什么这是因为历史api或什么(这是所有的显示在后面) 当我刷新页面时,将触发popstste事件。这一次,如果我在一个非ajax页面上,它会触发一个请求并将内容加载到div中。我已经在服务器端注意显示ajax和非ajax的不同页面,即使是ajax请求,但它显示的是非ajax页面,只有在这种情况下,其他时间都可以正常工作 在这个项目上,使用了特殊的HT

我正在尝试历史api,但我发现了以下内容

  • 当我从ajax链接移动到非ajax链接并单击后退时,只显示从ajax获得的内容,而不是整个页面。那么,为什么这是因为历史api或什么(这是所有的显示在后面)

  • 当我刷新页面时,将触发popstste事件。这一次,如果我在一个非ajax页面上,它会触发一个请求并将内容加载到div中。我已经在服务器端注意显示ajax和非ajax的不同页面,即使是ajax请求,但它显示的是非ajax页面,只有在这种情况下,其他时间都可以正常工作

  • 在这个项目上,使用了特殊的HTTP头来防止这种情况。 它们使用相同的方法生成内容AJAX和NONAJAX,但如果在服务器端使用AJAX,则不会生成周围的内容。
    所以,当您返回时,您将链接发送到服务器,而不使用特殊的HTTP头,因此页面生成时会充满周围的所有内容。

    是否可以选择一个更有意义的标题?
    $('#Head a').click(function()
    {
        alert("");
        var link = $(this).attr('href');
        $.get(link, function(data) {
            $('#NavDetailContent').html(data);
            history.pushState(null, null, link);
            e.preventDefault();
        });
        return false;
    });
    
    $(window).bind("popstate", function() {
        $.get(document.location, function(data) {
            $('#NavDetailContent').html(data);
            alert("");
        });
    });