My Account |  Site Map | Contact Us  
Welcome Guest Search | Active Topics | Sign In | Register

BUG In EO.WebBrowser and Chrome Horizontal Scrolling Event Not fired. Options
Posted: Tuesday, August 8, 2017 12:04:46 PM
Rank: Advanced Member
Groups: Member

Joined: 1/2/2017
Posts: 32
To all, I hope this helps.

I have found a BUG with Chrome, which is in EO.WebBrowser, as of 8 AUG 2017 for Chrome, and EO.WebBrowser purchased earlier this year. I don't know how to get the version of EO.WebBrowser, but if someone would direct me quickly, I'll come back to post it.

The BUG is in Chrome, and under weird and complex situations, which I can not easily reproduce, Chrome will have a parent DIV, trap a child's DIV horizontal scrolling events. Literally in Chrome debugging, one will see that using the spy tool on a child's visible and enabled horizontal scroll bar, will bring back the parent. As such, if the child has a scroll event handler and the parent has no event handlers, that the child's handler will never get called for horizontal scrolling. Vertical scrolling will still work, but not horizontal. The reason being, Chrome thinks the horizontal scrollbar, even though it is visible and enabled, is in fact the parent div. Now here is the extra complication. In Chrome and EO.WebBrowser, if I resize the browser or the EO.WebBrowser control, Chrome/EO.WebBrowser finally thinks the horizontal scrollbar belongs to the child. Note, z-Indexing, was not a part of this BUG. Sadly, I had hoped it would have solved this, but I spent a boat load of time discovering how much z-Indexing was not related to this BUG.

Again, I wish I could easily make a HTML/JavaScript/jQuery sample to demonstrate this, but I can't, as my code that fell into this BUG, is proprietary, and very complex. At the minimum, it involves IFRAMES, dynamic jQuery/JavaScript to create the parent and child.

How I found this BUG, was that in other browsers, including IE, the child horizontal scrolling works every time. That is, other browsers see the horizontal scrollbar, and to clarify, they always saw the horizontal scrollbar belonging to the child, without having to be resized.

The work around I found to fix the situation was to add "pointer-events: none;" to the offending parent DIV's style, and then add [pointer-events: auto;] to all immediate children's style. This caused Chrome to finally see the horizontal scroll bar as belonging to the child, and made the issue go away.

Hopefully, this helps others.
Posted: Thursday, August 10, 2017 2:38:32 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 23,072
Thank you very much for sharing this detailed information. This can be very helpful for other users that run into the same problem.

You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.