Iframe嵌入的Flutter应用程序中无法滚动

12

我有一个Flutter应用程序,部署在服务器上。在网页上,我嵌入了这个Flutter应用程序到一个Iframe里。

问题

当我滚动页面时,在到达Iframe后,我不能再滚动了。似乎Flutter应用程序消耗了滚动事件并没有将事件传递给网页。 同时我也需要用户可以与Iframe交互。我在Iframe内部有多个小部件,如轮播、投票滑块、水平和垂直滚动等。 我使用jquery(而不是Flutter)实现了其中一个小部件,并且它工作得很完美。 我已经研究了超过2个月关于这个问题的解决方案,我发现了桌面端的解决方法: s.addEventListener.apply(s,["wheel",q,r]) 如果我从main.dart.js中删除此行,桌面浏览器的滚动行为就会修复,但是我在移动浏览器(例如Safari)中仍然有问题。

提前致谢。


我也遇到了同样的问题。你找到解决方法或变通之道了吗? - MindStudio
很遗憾,如果你从 main.dart.js 中移除这一行代码: s.addEventListener.apply(s,["wheel",q,r]) 鼠标滚轮就可以滚动 iframe 了。 对于移动设备,你需要更改 main.dart.js 中的这一行代码: touch-action: j,更改为 touch-action: 'pan-y' 然后你就可以用手指滑动滚动了,但是如果你的页面有任何垂直滚动条,它将无法正常工作。 - Arman Ghaffarian
2个回答

0
确保你的“滚动”是“是”。

0

尝试使用 Flexible() 包装小部件


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接