Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 更改浏览器url_Javascript_Jquery - Fatal编程技术网

Javascript 更改浏览器url

Javascript 更改浏览器url,javascript,jquery,Javascript,Jquery,你可以在屏幕上看到我的演示代码 https://codepen.io/Nyarl/pen/EORXMe $(窗口).on('load resize scroll',function(){ var-activeFound=false; $('article')。每个(函数(){ 如果(!activeFound){ if($(this).is(':在视口(5)”中){ $(“article.current new”).removeClass(“current new”); $(this.addC

你可以在屏幕上看到我的演示代码

https://codepen.io/Nyarl/pen/EORXMe
$(窗口).on('load resize scroll',function(){
var-activeFound=false;
$('article')。每个(函数(){
如果(!activeFound){
if($(this).is(':在视口(5)”中){
$(“article.current new”).removeClass(“current new”);
$(this.addClass('current-new');
var url=$(this.data('url');
var title=$(this).data('page-title');
document.title=标题;
pushState('要传递的数据'、标题、url);
console.log(url);
activeFound=true;
}
}
});
});
文章{
最大宽度:500px;
最小高度:500px
}
第1条当前-新{
背景:红色;
}


Lorem ipsum dolor坐在amet Concertetur,告别精英。智者在接受非消费性的社会福利时,是否会被视为一种临时性的消费?


您可以使用以下方法防止pushState多次将url添加到历史记录中:

if(!history.state || history.state.url != '/yourUrl'){
    // then push state
}
通过
history.state
我们将检查是否存在历史记录集,如果是,我们需要确保此状态不等于pushState url

注:pushState最可能如下所示:

history.pushState({ url: "/yourUrl" }, title, url);

每次我滚动时,它仍然会运行代码块。当我尝试log history.state.url时,它返回未定义的。很抱歉,我现在更新了我的答案,url是pushState对象中设置的标识符,因此,如果设置
history.state.url
,您现在可以看到url,您也可以传递您想要的任何数据……或者标记url的任何嵌套变量。。