Over at Grove Labs we’re using Discourse to host our community discussions, and have a separate web app that users go to to control and manage their groves. Using Discourse has been a great experience so far — our users are active and engaged, both with company support and each other. I love seeing everyone share their experiences, give feedback, and come together over indoor farming
To try and make the transition between our app and our Discourse site smoother we’ve been experimenting putting Discourse in an iframe within our app. Most of our users install our web app to their home screen for a full page experience, and the feedback we’ve gotten of having it in an iframe instead of pulling them out to the browser has been great.
Unfortunately, iOS has a very annoying way of handling iframes. It forces them to expand to the full height of their content, as noted in this StackOverflow answer (and elsewhere), regardless of the styling you put on it. This wouldn’t be the worst, except Discourse’s infinite scrolling causes the page to grow and grow and grow, and while it’s growing and you’re trying to scroll it’ll give very janky behavior like jumping back up to the top of the page, intermittent blank pages, trouble replying while replies are loading, etc.
Can anyone think of a good workaround for this? A couple I’ve thought of:
- Modifying Discourse to have a “Click to Load” or something instead of automatically loading more posts and replies
- Detecting if the user is on iOS and open Discourse externally if they are
Neither are great Sure wish the Apple software engineers hadn’t decided to forego standards and make their iframes behave erratically… Help is very appreciated, thanks!