提问人:darksky 提问时间:5/26/2023 更新时间:5/26/2023 访问量:295
如何防止 Google 幻灯片嵌入到 iframe 中以滚动父页面?
How can I prevent Google Slides embed in an iframe to scroll the parent page?
问:
我在页面中有以下 iframe(实际演示只是一个示例):
<div id="google-slides-iframe-container">
<iframe id="google-slides-iframe" src="https://docs.google.com/presentation/d/1_zfj0xr6bOTZcGOPR4ASOVCccg5zvDrGrU3XxUUe5Ik/embed" frameborder="0"></iframe>
</div>
问题是当演示文稿未完全显示在视图中时,也就是说,假设用户向下滚动页面,以便演示文稿的一半可见,当用户单击按钮转到下一张幻灯片时,页面突然向上移动并滚动,以便演示文稿的顶部现在在视图中。然后,用户必须向下滚动才能再次到达按钮才能转到下一张幻灯片。对于演示文稿完全适合页面的大屏幕来说,这不是问题,但在较小的屏幕上,这种行为是有问题的。
如何防止 iframe 内的 Google 幻灯片文档在单击“下一个”和“上一个”按钮后向上滚动其父级?我今天做了一些研究,但根本没有成功。有一些非常骇人听闻的方法可以做到这一点,例如,跟踪鼠标,跟踪它何时进入和离开 iframe,以及当鼠标在 iframe 区域内时禁用页面滚动。但是,整个逻辑在平板电脑上就崩溃了,例如,当用户仅使用触摸手势与页面交互时。
我不确定 Google 是否正在使用 scrollIntoView
API 来实现这一点。如果是,也许覆盖此功能的原型以完全禁用它是有意义的。我尝试在iframe及其容器上执行此操作,但效果不大。也许类似地覆盖函数也是有意义的。我还没有尝试过这个。scrollTop()
显然,这个问题是五年前在W3C上提出的,他们还没有对此做出回应。所以我找不到一种官方方法来防止 iframe 滚动他们的父级。
答: 暂无答案
评论