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.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.