为啥 scrollTo() 方法不适用于 iframe?
Posted
技术标签:
【中文标题】为啥 scrollTo() 方法不适用于 iframe?【英文标题】:Why isn't the scrollTo() method working for iframes?为什么 scrollTo() 方法不适用于 iframe? 【发布时间】:2015-11-24 23:12:45 【问题描述】:无论我做什么,iframe 都不会自动滚动到底部。我无法让 scrollTo() 对 iframe 做任何事情。我检查了 Stack Overflow 上处理类似问题的许多其他页面。他们的解决方案都不适合我。很可能是我没有正确实现它们。
Scrolling an iframe with javascript? 上面帖子中给出的工作示例实际上对我不起作用。无论我在示例中的 scrollTo() 方法中输入什么数字,都没有任何变化。
<!DOCTYPE html>
<html>
<body>
<div id="divy">
<iframe id='cat' src='test.html'></iframe>
</div>
<script>
console.log(document.getElementById('cat'));
document.getElementById("cat").onload = function () this.contentWindow.scrollTo(0, 200) ;
conslole.log( document.getElementById("cat").onload = function () this.contentWindow.scrollTo(0, 200)) ;
//setInterval(function() document.getElementById("divy").innerHTML=" <iframe src='test.html'></iframe>"; , 3000);
</script>
<body>
</html>
编辑:我仍然不知道为什么另一篇文章中的工作示例中的代码对我不起作用。有人在该帖子的 cmets 中提到它也不适合他们。
【问题讨论】:
Scrolling an iframe with javascript?的可能重复 感谢发布。我之前看过它,想参考其中的工作示例,但我不记得我在哪里看到过这个示例。 好吧,你来了! :) 【参考方案1】:我的前两个问题是我不知道如何使用控制台日志,而且我有一个错字。但我相信我的主要问题是我根本没有输入足够大的值来看到滚动条移动,所以认为它不起作用。对于我加载的文件大小,150 像素太小了。下面的代码对我有用。
<!DOCTYPE html>
<html>
<body>
<div id="divy">
<iframe id='cat' src='test.html'></iframe>
</div>
<script>
console.log(document.getElementById('cat'));
document.getElementById("cat").onload = function () this.contentWindow.scrollTo(0, 1000000) ;
//setInterval(function() document.getElementById("divy").innerHTML=" <iframe src='test.html'></iframe>"; , 3000);
</script>
<body>
</html>
【讨论】:
以上是关于为啥 scrollTo() 方法不适用于 iframe?的主要内容,如果未能解决你的问题,请参考以下文章
Spring Data JPA 审计不适用于带有 @Modifying 注释的 JpaRepository 更新方法,为啥?
为啥 .append() 方法不适用于字符串,它们的行为不像列表?
为啥 switch_to_window() 方法不适用于 Python 中的 selenium webdriver?