如何解决Chrome与Safari和Firefox中的“ popstate” +滚动行为
在Chrome(86.0.4240.183)中单击“传统”锚点时,会在相应的页面内容滚动到视图中的“ 之前”触发“ popstate”事件。 Safari(13.1)和Firefox(82)中的情况有所不同-页面内容滚动后会触发“ popstate”。
在这种情况下是否存在“正确”(由规范支持)的行为?如果是这样,是否跟踪了相应的错误?
POC: 在打开DevTools / WebInspector的情况下,单击 a2 锚链接-注意Chrome和Safari + Firefox的“ popstate”断点触发的时间不同
https://jsfiddle.net/z5n2dqxo/
<html>
<body>
<a href="#anchor1">a1</a>
<a href="#anchor2">a2</a>
<div id="anchor1" style="height:1000px; border: 1px solid red">
Lorem
</div>
<div id="anchor2" style="height:1000px; border: 1px solid blue">
Ipsum
</div>
<script type='text/javascript'>
window.addEventListener('popstate',function(e) {
debugger;
});
</script>
</body>
</html>
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。