If you don’t specify viewport when creating windows it uses document.body.
It then proceeds to add static positioning and a skin specific class (.dhxwins_vp_dhx_skyblue) to the body element - that class has ‘overflow:hidden’
This makes the scrollbars on my page disappear!
I use dhtmlxSuite 4.0.3 and IE11 on Windows 8.1
Forcing overflow on the body element isn’t acceptable.
body.dhxwins_vp_dhx_skyblue { overflow: auto !important; }
but I still feel it’s bad form to introduce side effects like modifying the body element.
A better option would be to skip using a viewports at all if not explicitly specified.
our general concept is a scroll-less document.body (fullscreen layout as a parent), that’s why windows hides scroll. body is a default viewport. you can use your css fix, its not a problem.
by unloading the window automatically removing the class dhxwins_vp_dhx_skin
there are two things:
var dhxWins = new dhtmlXWindows(), and
var w1 = dhxWins.createWindow(…);
dhxwins_vp_dhx_skin will removed only if you call dhxWIns.unload(), not by closing w1
We ran into a similar issue with the scrolling due to the “dhxwins_vp_dhx_skyblue” css class being automatically added to the document body element.
Since it was only after opening a specific tab cell, we were able to trace it back to the dhtmlXAccordion object. When the accordion is created, it creates it’s
own “this.dhxWins” property and a new dhtmlXWindows object. You can see this near the bottom of the “dhtmlXAccordion” function in dhtmlx.js Since the dhxWins didn’t have a viewport set, it added the default “xwins_vp_dhx_skyblue” class and was unable to scroll vertically on mobile devices.
To fix it, instead of going the CSS override route, we added a method to the accordion object and unload the dhxWins property from the accordion.