从父页面滚动iframe
我创建了两个网页,一个包含iframe中的另一个网页。 我想通过javascript从父页面滚动嵌入页面。
到目前为止我尝试了什么:
-
$('#go').scrollTop(200);
-
$('.footer').scrollTop(200);
-
var frame = document.getElementById('go');
frame.contentWindow.scrollTo(0, 200);
这些都没有奏效
父网页html:
. . .
这两个网页都是计算机上的本地文件,我使用的是带有“–allow-file-access-from-files”标志的Google Chrome。
如何将iframe滚动到某个位置?
这有效:
document.getElementById("go").contentWindow.setTimeout("this.scrollTo(0, 200);",1);
更新 。 卫生署。 仅在IE中工作,但我认为那里有一些东西。
更新2这普遍适用:
document.getElementById("go").onload = function () { this.contentWindow.scrollTo(0, 200) };
您必须等待iframe内容完成加载才能使scrollTo正常工作。
您可以使用window.postMessage
从父框架向iframe发送消息,告诉它滚动。 这会让您在父框架中设置postMessage
脚本,在iframe中设置receiveMessage
脚本。 这是实际滚动iframe的receiveMessage
代码。
我非常成功地使用了这种polyfill: http : //benalman.com/projects/jquery-postmessage-plugin/