需求
在h5页面中,需要从一个页面跳转到另外一个页面的指定区域。
实现方法
- 采用链接锚点的方法,比如
https://a/b/test#top3;
这种方法的问题比较多,采用这种方法之后发现,在iPhone上面是可以正常锚点跳转的,但是在其他的很多机型上面不能跳转到指定区域;(失败)
具体为什么不能通过链接锚点跳转还不明确。。。。。(还处于懵逼中。。。)
- 采用DOM元素查询,然后使用scrollToView方法;
链接地址中加入参数来判断是否需要跳转,比如https://a/b/test?top3=1;
然后在渲染页面的时候查询URL参数中是否需要链接的跳转,如果是,采用scrollToView方法。(成功)
if (queryParams('top3') === '1') {
if (document.querySelector('#top3')) {
document.querySelector('#top3')?.scrollIntoView(true);
}
}
scrollIntoView方法的用法:
developer.mozilla.org/zh-CN/docs/…