繁体   English   中英

history.pushstate 用于在没有页面加载的情况下更改 url 不起作用

[英]history.pushstate for changing url without page load not working

我一直在尝试使用 history.pushState 在不更改 url 的情况下实现更改页面内容,但出现以下错误

index.html:164 未捕获的 DOMException:无法在“History”上执行“pushState”:无法在具有 origin 的文档中创建 URL 为“file:///home/Desktop/abc/selected=box2”的历史状态对象null' 和 URL 'file:///home/Desktop/abc/index.html'。 在 HTMLAnchorElement。 (file:///home/unfactory/Desktop/abc/index.html:164:17)

HTML代码

<span style="float:right;"><a href="#" class="box" id='box1'>Contact Us</a></span>
<span style="float:right;"><a class='box' id='box2'>Asia-Pacific&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span>
<span style="float:right;"><a href="#top" class="box" id='box3'>Global&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span>    

js代码

function selectBox(id) {
    boxes.forEach(b => {
        b.classList.toggle('selected', b.id === id);
    })
}

let boxes = Array.from(document.getElementsByClassName('box'));
console.log(boxes);
boxes.forEach(b => {
    let id = b.id;
    console.log(id);
    b.addEventListener('click', e => {
        history.pushState({ id }, `Selected:${id}`, `./selected=${id}`)
        selectBox(id);
    })
})

似乎history.pushState已被弃用,您需要使用history.push(url)

https://github.com/ReactTraining/react-router/issues/4049

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM