Description
I'm testing Navigator 2.0 functionality for a web apps, as described here: https://flutter.dev/docs/development/ui/navigation
The example I'm trying is the one described in the blog post. Here is the code. I also tried my own examples and other flutter-web demos on the web with the same result.
Also this official Flutter Animation web demo, has full PWA history support via back button, but back gesture does not work.
The problem: flutter web apps do not have support for back/forward gesture (swipe right/left from edge) that is normally available on all web pages in all MacOS and iOS browsers (Safari, Chrome, Firefox). History navigation works as intended if back/forward button is used, just the back/forward gesture does not work. It seems that the flutter web by default consumes all gesture events and does not propagate them to browser.
Platform: the problem occurs on all MacOS browsers: Safari, Chrome, Firefox. It also occurs on iOS (iPad) in Safari browser.
How is it expected to work: flutter web apps run in MacOS & iOS browsers should have the default behavior as all other web pages or web apps do: have beck/forward gestures available and the app navigation (history API) should honor the back/forward gesture the same as it does with the back/forward buttons.
Activity
[-][web]: No back&forward gesture support on iOS and MacOS browsers[/-][+][web]: No back/forward gesture support on iOS and MacOS browsers[/+]TahaTesser commentedon Feb 22, 2021
Hi @PeterKnego
Back gesture works on Flutter web, not sure about forward gesture
Screen.Recording.2021-02-22.at.2.12.15.PM.mov
Can you please provide a demo of this behavior that works as intended compare to Flutter web?
Thank you
PeterKnego commentedon Feb 22, 2021
Ahh, I see. The feature works as it is re-implemented inside Flutter using default system gesture: tap-hold-swipe. But on MacOS and iOS, most user use two-finger swipe (no-tap or press) to get back/forward between pages, which does not seem to be implemented.
Screen.Recording.2021-02-22.at.10.14.55.mov
35 remaining items