I'm migrating to a new Win 10 PC, and having a problem when Chrome displays the HTML frames used by the default Stored Process Web App . I think I've hit a chrome bug (interpreting the HTML generated by SAS). Chrome 64.0.3282.167 (Official Build) (64-bit)
If I go to https://myserver.com/SASStoredProcess/ and click "list available stored processes" it brings up the default SPWA tree which has a frame for metadata folders / stored processes on the left, and a frame at the right for input parameters. The HTML code for that page looks like:
<html><head><title>Stored Processes</title></head> <script> function stp_fixSize() { var rectObject = window.top.frames[0].document.body.getBoundingClientRect(); document.body.rows = (rectObject.bottom - rectObject.top) + ", *" } </script> <frameset onload="stp_fixSize()" rows="75,*" class="" framespacing="1"> <frame name="_stpBanner" class="" frameborder="0" scrolling="no" noresize></frame> <frameset cols="25%,*" class=""> <frame name="_stpTree" class="" frameborder="1" scrolling="auto"></frame> <frame name="_stpOutput" class="" frameborder="1" scrolling="auto"></frame> </frameset> </frameset> </html>
I wonder if someone with chrome and Win 10 could paste that html into a file and open it in chrome. I ended up with the top frame taking about half the screen. It works fine in IE.
I'm not a web guy, but I debugged a bit. Looks like the problem is in the stp_fixsize function. In chrome if I hardcode the value of doucument.body.rows to be a decimal with only 10 places, it works:
<html><head><title>Stored Processes</title></head> <script> function stp_fixSize() { var rectObject = window.top.frames[0].document.body.getBoundingClientRect(); document.body.rows = 50.1234567891 + ", *" } </script> <frameset onload="stp_fixSize()" rows="75,*" class="" framespacing="1"> <frame name="_stpBanner" class="" frameborder="0" scrolling="no" noresize></frame> <frameset cols="25%,*" class=""> <frame name="_stpTree" class="" frameborder="1" scrolling="auto"></frame> <frame name="_stpOutput" class="" frameborder="1" scrolling="auto"></frame> </frameset> </frameset> </html>
But if I add a few more values after the decimal point, it breaks.
My questions:
1. Can anyone else with Win10 and chrome replicate this behavior?
2. When I talk with the SAS server admin, is there a .html file template or similar somewhere they could edit, to round() or truncate() the value computed in the stp_fixsize() script?
This appears to be a problem that is corrected in the next release of SAS.
Try adjusting the zoom level of your browser to see if you can find a setting that provides a correctly sized frame.
Another possible workaround (not tested) is to specify a value for the BannerRows configuration parameter:
Configuring the SAS Stored Process Web Application
Adjust the value until the frame is correctly sized.
Vince DelGobbo
SAS R&D
This appears to be a problem that is corrected in the next release of SAS.
Try adjusting the zoom level of your browser to see if you can find a setting that provides a correctly sized frame.
Another possible workaround (not tested) is to specify a value for the BannerRows configuration parameter:
Configuring the SAS Stored Process Web Application
Adjust the value until the frame is correctly sized.
Vince DelGobbo
SAS R&D
Thanks much @Vince_SAS. Turns out my chrome was set to zoom to 90%. When I changed it to 100%, it resized correctly. If it becomes a problem for users, will submit a ticket to our admins to try adjusting banner size.
Thanks again,
-Q.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.