@kim wrote:
Just installed Beta 5 - thanks for the rapid fixes!!
One problem I've yet to find a solution for is the SELECT OPTIONS dropdown menu positioning after moving the main browser window - I'm sure I've seen this issue mentioned on the forum before, but only noticed it myself yesterday.
Upon opening my app, all select menus appear in the correct places as expected, but if I move the window by dragging it with the title bar, from that point on, whenever I click on a select menu, the dropdown appears in the place it was prior to moving the window. The select box itself is fine and moves with the window as expected, it's just the options dropdown menu that doesn't move. In fact if you move the window far enough it pops up completely outside the application window on the desktop..
The only way I've found to force the option menus to re-align with the select elements in the interface is by resizing the browser window in realtime by dragging an edge or corner.
As soon as you manually resize the window just a little, it causes what I'd guess is a full reflow and the menus realign themselves correctly. Interestingly, even refreshing the entire page with a hyperlink leading back to itself isn't even enough to cause a full dom reflow - there has to have been visual changes to the screen first.
I've experimented with lots of possible fixes over the last day or so in an attempt to trigger a reflow in the respective area of the screen, temporarily moving and resizing elements with timeouts etc, and whilst you can see the elements visually move, nothing has been able to trigger a reflow that realigns the dropdown options. The only workaround that consistently works has to be performed in real time by resizing the main browser window.
Doe you know how to trigger a full browser resize event via javascript? I've tried lots on StackOverflow already to no avail. Chromium seems to have blocked all access to resize functions on the main window. They work on popups, but not the main window.
I'd rather not have to replace the menus with a JS alternative as the native dropdowns are custom styled already and work perfectly outside ExeOutput and in other CEF based test environments.
While trying to find a solution I noticed that the global variables "window.screenX" and "window.screenY" exhibit some strange behaviours in ExeOutput, they rarely return new values after the window has been moved so there's no way to accurately work out the position of the browser window on the screen - they do work as expected in the CEF testclients & other CEF based environments though. Could that be something to do with the issue?
Here's a quick test script you can use to investigate the dropdowns and screen variables if need be:
<!DOCTYPE html> <html> <head> <script> function getWinPos() { document.getElementById('pos').innerHTML="X = "+window.screenX+"<br>Y = "+window.screenY; } </script> </head> <body> <br><br> <select> <option value="test1">T1</option> <option value="test2">T2</option> <option value="test3">T3</option> <option value="test4">T4</option> <option value="test4">T5</option> </select> <br><br><br><br> <button onclick="getWinPos()">Get window position</button> <div id="pos"></div> </body> </html>
Any clues?
Might there be a way to trigger a full browser reflow via HEscript? (must admit, I've not had a need to use any HEscript yet - so not too familiar with that side of the app)
Another thing that would be handy to know would be how to trigger the Zoom feature from a standard button in my own interface, as I don't need the standard dropdown toolbar to be visible as all the main features I need are in a custom interface - but I guess that one would have to be done with HEscript yeah?
Posts: 5
Participants: 3