Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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 如何使用HTML5历史推送状态而不是window.location.hash?_Javascript_Html - Fatal编程技术网

Javascript 如何使用HTML5历史推送状态而不是window.location.hash?

Javascript 如何使用HTML5历史推送状态而不是window.location.hash?,javascript,html,Javascript,Html,现在,我正在使用window.location.hash进行历史管理,如下图所示,我如何用HTML5历史推送状态替换它 var stateHistory = []; function changeHistory(page) { var l = stateHistory.length, state = window.location.hash; if (l === 0) {

现在,我正在使用window.location.hash进行历史管理,如下图所示,我如何用HTML5历史推送状态替换它

        var  stateHistory = []; 

        function changeHistory(page) {

            var l = stateHistory.length,
                state = window.location.hash;

            if (l === 0) {
                stateHistory.push(state);        
                return;
            }
            if (state === stateHistory[l - 2]) {
                stateHistory.pop();       
            } else {
                stateHistory.push(state);          
            }

        };

您可以使用HTML5历史pustate函数


您可以在和中找到有关如何使用历史API的指南。你只需要搜索它。
    function changeHistory(page) {

           window.history.pushState({page:""+page},""+page);       
    };