Как отключить прокрутку для встроенного веб-приложения Flutter? - PullRequest
0 голосов
/ 22 апреля 2020

Первый вопрос по SO - пожалуйста, будьте осторожны.

У меня есть простое веб-приложение, которое я встраиваю в существующую веб-страницу. Приложение размещено на FireBase, и я использую iFrame на родительской странице, размещенной отдельно для отображения приложения флаттера. Изображение ниже.

веб-страница

Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда указатель находится над фреймом, приложение флаттера поглощает события прокрутки / колесика, даже если приложение не содержит прокручиваемого контента. Я пробовал практически все, что я могу исследовать, от js скриптов до атрибутов iframe до css. Ничего не работает jQuery также не принимается родительской страницей.

Вот код, который я пробовал на родительской веб-странице - события журнала консоли не запускаются (при использовании инструментов chrome dev в по крайней мере) поэтому я еще не пытался передать событие wheel родительскому элементу.

    <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>
...