javascript - 如何同步2个iframe的滚动条

标签 javascript jquery iframe

我的任务是在单个 html 页面中启动 2 个网页并并排进行网页比较,因此我为每个比较网页创建 2 个 iframe,但是我在同步滚动条行为时遇到问题,就像当我移动左侧网页(iframe1)上的垂直滚动条时,右侧网页(iframe2)上的滚动条也会移动。 有谁知道该怎么做吗?或者除了使用 iframe 之外的其他方法,但可以启动 2 个网页并同步滚动条? 谢谢。

最佳答案

您可以使用 contentWindow 属性访问 iframe 的窗口。

注册一个滚动处理程序,contentWindow.onscroll,然后你就可以使用scrollTo进行滚动。

安全注意事项:iframe 的内容应与顶级页面来自同一域,然后才能访问 contentWindow 的值,因为跨域 Javascript 访问会被阻止。

frame1.contentWindow.onscroll = function(e) {
   frame2.contentWindow.scrollTop = frame1.contentWindow.scrollTop;
   frame2.contentWindow.scrollLeft = frame1.contentWindow.scrollLeft;
};

关于javascript - 如何同步2个iframe的滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35238103/

相关文章:

javascript - 根据正确答案生成分数

javascript - 如何通过存在于 page1.aspx 中的 javascript 访问,存在于 page2.aspx 中的隐藏字段在两个框架的框架集中

html - 不使用 iframe 的原因?

javascript - 如何通过 mysql 数据选中/取消选中模式中的单选按钮?

javascript - 如何使 Bootstrap 导航栏更改事件状态?

javascript - str 替换 Javascript 中的所有内容

javascript - 响应式 Tumblr 视频不起作用

javascript - 自动用 if/else 替换条件运算符?

C# HtmlElement JavaScript 不会设置 InnerHtml

javascript - 为什么 jQuery 中的 every 不迭代列表中的所有值