I figured that I was doing something to a control before it was being shown. I went round and round with the bug adding timers to add delays and changing the order of when things were shown. It was really bugging me and I even contacted Xojo support because it was happening on the Xojo Cloud server during the alpha period but yet I was seeing different behavior on my VPS host.
document.getElementById(‘EK7iZlsZ’).style.overflow = ‘hidden’;
If you go into the Web Inspector in Safari and in the console paste in document.getElementById(‘EK7iZlsZ’) it resolves to a Style. It was confusing because that style is used everywhere and all styles are static meaning that I’m not replacing or changing that style on any control, anywhere in the project. We all assumed it was an order issue with the web framework.
Of course, once we knew what the error was it was trivial to change it. The line of code I had in an initialization routine of the WebContainer was self.ScrollbarsVisible = 2. As soon as I moved this to the shown event the problem went away.
If you are a heavy user of WebContainers this might bite you at some point in the future. Perhaps you’ll remember this blog post and remember how you thought Bob was a silly old programmer for missing something so obvious. 🙂
Gotta love hours and hours of work for moving one line of code. Of course, along the way things got more efficient and I removed a bunch of time delay code that was no longer needed. I love programming some days. Now to repair the dent in wall from banging my head….