Javascript 如何禁用嵌入式颤振web应用程序的滚动动作?
关于SO的第一个问题-请温柔一点 我有一个简单的Flitter web应用程序,我将它嵌入到现有的网页中。该应用程序托管在firebase上,我在单独托管的父页面上使用iFrame来显示Flatter应用程序。下图 我遇到的问题是,每当指针位于iframe上时,flifter应用程序就会吸收滚动/滚轮事件,即使该应用程序不包含可滚动的内容。我已经尝试了我能研究的一切,从js脚本到iframe属性再到css。什么都不管用。父页面也不接受jQuery 下面是我在父网页上尝试的代码-控制台日志事件没有被触发(至少在使用chrome开发工具时),因此我还没有尝试将控制盘事件传递给父网页Javascript 如何禁用嵌入式颤振web应用程序的滚动动作?,javascript,html,css,flutter,flutter-web,Javascript,Html,Css,Flutter,Flutter Web,关于SO的第一个问题-请温柔一点 我有一个简单的Flitter web应用程序,我将它嵌入到现有的网页中。该应用程序托管在firebase上,我在单独托管的父页面上使用iFrame来显示Flatter应用程序。下图 我遇到的问题是,每当指针位于iframe上时,flifter应用程序就会吸收滚动/滚轮事件,即使该应用程序不包含可滚动的内容。我已经尝试了我能研究的一切,从js脚本到iframe属性再到css。什么都不管用。父页面也不接受jQuery 下面是我在父网页上尝试的代码-控制台日志事件没
<style>
#app{
height: 280px;
width: 90%;
background-color: white;
margin: 0 auto;
border: none;
overflow-y: hidden;
}
</style>
<iframe id="app" src="https://fireball-apps-testimonials.firebaseapp.com/" scroll="no" scrolling="no"></iframe>
<script type="text/javascript">
var app = document.getElementById("app");
function myFunction(event) {
console.log('event triggered');
if (event) {
if (event.wheelData< 0)
{
console.log('scrolling up');
}
else if (event.wheelData> 0)
{
console.log('scrolling down');
}
}
else {
console.log('event is null');
}
}
app.addEventListener("wheel", myFunction);
</script>
#应用程序{
高度:280px;
宽度:90%;
背景色:白色;
保证金:0自动;
边界:无;
溢出y:隐藏;
}
var app=document.getElementById(“app”);
函数myFunction(事件){
console.log(“事件触发”);
如果(事件){
if(事件数据<0)
{
log(“向上滚动”);
}
else if(事件数据>0)
{
log(“向下滚动”);
}
}
否则{
log('event is null');
}
}
附录addEventListener(“轮子”,myFunction);
我尝试了许多方法来禁用父网页上有关CSS和Javascript的滚动操作。问题是,即使您没有可滚动的小部件,flatter也会侦听所有滚动事件。因此,目前我已搜索相关代码,以禁用滚动操作:
flatterbuildweb
build/web/main.dart.js
s.addEventListener.apply(s,[“wheel”,q,r])
有关更多信息,请参阅。您找到解决方法了吗?我还想知道如何解决此问题