悬停iframe时滚动父窗口

时间:2018-09-05 09:20:48

标签: javascript html css iframe

上下文

我正在尝试将iframe嵌入另一个页面(不同的域)中
嵌入代码如下:

<script type="application/javascript" src="[...]/myTopScript.js"></script>
<iframe src="differentDomain/somePage.html" frameborder="0" allowfullscreen width="100%"></iframe>

我负责iframe内容和myTopScript.js
iframe中还有另一个脚本(我们称其为myInnerScript.js)

  

TL; DR:iframe的高度始终高于其内容高度(内部不滚动)

     

只要我的iframe内容高度发生变化,我都会通过window.parent.postMessage向父窗口发送一条消息,以向myTopScript.js提供新的高度。然后,顶部脚本将捕获该消息,并将我的iframe高度属性更新为newHeight + 1px

     

通过这种方式,我的iframe不需要滚动条,并且看起来就像宿主网站的任何其他部分。

问题

当鼠标悬停在iframe上时,无法滚动父页面(使用鼠标滚轮)。


  • 我尝试在iframe overflow:hidden标签上设置<body>
  • 我尝试在iframe上设置scrolling="no"(不建议使用),但是它什么也没做
  • 我无法在pointer-events:none上设置<iframe>,因为我需要iframe内的鼠标事件(至少单击)
  • 我注意到,当宿主网页位于同一域上时,我没有遇到问题,但是找不到任何启用此“滚动滚动”功能的iframe属性

您是否有任何规范参考或说明此的文档?还有关于我还可以尝试的想法?

我考虑过通过postMessage转发鼠标滚轮事件,但是我很确定这是不可靠的

0 个答案:

没有答案