Javascript 垂直滚动不适用于嵌入式iframe,但水平滚动可以正常工作(不带jquery)

Javascript 垂直滚动不适用于嵌入式iframe,但水平滚动可以正常工作(不带jquery),javascript,html,iframe,scroll,Javascript,Html,Iframe,Scroll,使用动态添加的iframe时,我无法垂直滚动。我的工作还可以。我看到了一些问题和答案,但是,它们都不适合我。 另外,我不想使用jquery,我确信这可以通过使用scrollTo和scrollBy来实现。 我想在完成特定操作后滚动到底部 var ifrm = document.createElement("iframe"); var url = <PAGE>; ifrm.setAttribute("src", url); ifrm.style.width = 128

使用动态添加的iframe时,我无法垂直滚动。我的工作还可以。我看到了一些问题和答案,但是,它们都不适合我。 另外,我不想使用jquery,我确信这可以通过使用scrollTo和scrollBy来实现。 我想在完成特定操作后滚动到底部

var ifrm = document.createElement("iframe"); 
   var url = <PAGE>;
   ifrm.setAttribute("src", url);
   ifrm.style.width = 1280 +"px";
   ifrm.style.height = 1720 +"px"; //for testing, hardcoded               
   document.body.appendChild(ifrm);

   window.scrollTo(0, 500);
var-ifrm=document.createElement(“iframe”);
var url=;
setAttribute(“src”,url);
ifrm.style.width=1280+“px”;
ifrm.style.height=1720+“px”//对于测试,硬编码
文件.body.appendChild(ifrm);
滚动到(0500);
当我把window.scroll设置为(500500);一切正常,页面向右滚动500。 有人看到我的代码有什么问题吗

这是我的例子:

更新1:将createElement中的“my_frame”更改为“iframe”。复制代码错误

更新2:当我在chrome中启动此页面(代码:)时,我得到以下值: H:947
W:1861可以自动水平滚动,但不能垂直滚动。

您用作iframe源的链接似乎会在其父对象上触发某种滚动事件

如果您等待它完成,然后运行代码滚动,它将工作(某种程度上)

参见此处修订的小提琴:

基本上,它只是有一个围绕滚动的超时函数:

setTimeout(函数(){
滚动到(1001500);

},1000);

请在不最大化浏览器窗口的情况下进行检查,我的意思是使用一个小的浏览器窗口进行检查,以便您的内容高度应大于窗口。。然后,只有它才能滚动y轴。我添加了更新2,我的内容的大小比窗口大。还是一样(如果我理解正确的话)。我也检查过,没有最大化,但没有成功。是的,我看到了,改变了,但仍然不起作用。我会更新我的问题。是的,你是对的。看起来iframe正在调整大小?您认为这可能与选项
adapt=auto
有关吗?我试着从链接中删除它,但它仍然调整了大小。如果您等待iframe停止滚动父对象并在超时时包装滚动函数,它就可以正常工作。就像这样:太好了,超时是一个解决方案。请添加答案以便我可以接受:)谢谢,我不敢相信我错过了调整大小。谢谢,我在上面修改了我的答案。天哪,我第一次接受了关于stackoverflow的答案,真是太激动了;)