From 7d227a311b3631109e5e15a55ba21b940106e333 Mon Sep 17 00:00:00 2001 From: Daniel Kuschny Date: Fri, 20 Dec 2019 12:41:33 +0100 Subject: [PATCH] Fix scrolling on mobile devices --- Source/AlphaTab.JavaScript/UI/BrowserUiFacade.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Source/AlphaTab.JavaScript/UI/BrowserUiFacade.cs b/Source/AlphaTab.JavaScript/UI/BrowserUiFacade.cs index 4ec3a80b8..eae5b7744 100644 --- a/Source/AlphaTab.JavaScript/UI/BrowserUiFacade.cs +++ b/Source/AlphaTab.JavaScript/UI/BrowserUiFacade.cs @@ -774,7 +774,13 @@ public IContainer GetScrollContainer() var nodeName = scrollElement.NodeName.ToLowerCase(); if (nodeName == "html" || nodeName == "body") { - scrollElement = Browser.Document.DocumentElement; + // Some mobile browsers cannot scroll on html, we must scroll on body instead + // http://blog.jonathanargentiero.com/jquery-scrolltop-not-working-on-mobile-devices-iphone-ipad-android-phones/ + // https://github.com/CoderLine/alphaTab/issues/205 + string userAgent = Browser.Navigator.UserAgent; + scrollElement = userAgent.Match("((iPod|iPhone|iPad|Android))").IsTruthy() + ? Browser.Document.Body + : Browser.Document.DocumentElement; } return new HtmlElementContainer(scrollElement);