iframe嵌套页面,无法获取外部浏览器滚动条高度
问题:
项目中使用了iframe嵌套页面,动态计算自适应高度之后,使用路由跳转从主页面跳转到其他页面,高度变大之后,再返回至主页面,浏览器滚动条处于页面底部,页面内容被隐藏,只有滑动滚动条才能看到内容
通过这三种方法获取到的高度都为0,但是滚动条还是处于底部
因为iframe存在跨域问题,获取到的高度还是iframe本身的高度,非外部浏览器高度
let scrollTop = document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset;
解决方法:
初始化进入页面时,在滚动条需要在顶部的页面加上以下逻辑:
created(){
let parentWindow = window.parent
parentWindow.scrollTo(0,0)
},
加上以上逻辑之后,我从主页面跳转至其他页面,页面高度被撑大,再返回至主页面时,浏览器滚动条位于顶部,页面也位于顶部