如何使用javascript滚动iFrame

我有几个加载外部网页的iFrame,虽然一次只出现1个,因此我想要添加到按钮(而不是滚动条)的id =“iFrame”,这样用户可以按下它们向下或向上滚动,我试图用javascript做到这一点,但到目前为止我一直没有成功,我在这里读了一些post并尝试了这些 答案,但到目前为止还没有运气。 我也尝试过:

var newFrame = document.getElementsByTagName('iframe'); if(typeof newFrame !== 'undefined'){ newFrame.contentWindow.scrollBy(0,250); 

 var myframe = document.getElementById(window.frameElement[0].id); myframe.window.scrollBy(0,50); 

到目前为止没有任何结果,任何人都可以让我知道我错过了什么或做错了什么? 谢谢!

尝试使用以下(未经测试,但应该工作):

 function scrollIFrame(name, x, y) { var frame = document.getElementById(name); frame.contentWindow.scrollTo(x, y); } 

所以,你会使用:

 scrollIFrame('iframe', 0, 250); 

试试这个:

 var iFrames = document.getElementsByTagName('iframe'); for (var i = 0; i < iFrames.length; i++) { //+= for -= depending on direction //scrollLeft for horizontal, scrollTop for vertical //iFrames[i].contentWindow.scrollTop += 10; iFrames[i].contentWindow.scrollTop -= 10; } 

scrollByscrollTo应该工作相同。 这里重要的是getElementsByTagName返回一个数组。 如果你运行这个newFrame.contentWindow.scrollBy(0,250); 你不是在滚动iframe,而是试图滚动数组。 相反,你必须运行它: newFrame[0].contentWindow.scrollBy(0,250);