我在通过iframe
显示YouTube视频时遇到问题。
当我点击youtube图标时,页面正在重新加载或页面滚动到顶部。页面仅在iframe
不在页面顶部时滚动,例如在列表下或在某个元素之后滚动。
如何在点击YouTube图标后阻止页面重新加载或滚动到顶部?
如果我将iframe
移到顶部,则不会重新加载和滚动。当iframe
不在页面顶部时,页面会重新加载或滚动到顶部。
答案 0 :(得分:1)
我不知道为什么iframe会这样做,但我发现在添加iframe之前,将主体的scrollTop属性保存在变量中,然后在添加iframe之后,将body的scollTop设置为那个变量。诀窍是在setTimeout函数中重新分配值。请参阅以下内容:
var scrollTop = document.body.scrollTop;
element.appendChild(iframe);
setTimeout(function() {
document.body.scrollTop = scrollTop;
});