Marko Nikolić created GUACAMOLE-164:
---------------------------------------
Summary: guacViewport invalid height calculation
Key: GUACAMOLE-164
URL: https://issues.apache.org/jira/browse/GUACAMOLE-164
Project: Guacamole
Issue Type: Bug
Components: guacamole-client
Affects Versions: 0.9.10-incubating
Environment: chrome firefox
Reporter: Marko Nikolić
There is a problem when the Guacamole application is not occupying the whole
window and there are some elements inserted above Guacamole application. The
issue can be seen in Firefox and possible in other browser, because the
available height is not calculated in a cross-browser way.
{{guacViewport}} directive calculates browser area height and based on results
sets height of the viewport. The calculation is made in {{fitVisibleArea()}}
function, in the following line:
{code:javascript}
var scrollHeight = document.body.scrollHeight;
{code}
However, {{scrollHeight}} does not return same values cross-browser. In Chrome,
it works as expected (from the Guacamole perspective), but different value is
returned in Firefox. Different behaviour is not visible when the Guacamole
client is occupying the whole window, only when there are some elements above.
I have fixed the problem by calculating the height in {{guacViewport}} using
function from here:
http://james.padolsey.com/snippets/get-document-height-cross-browser/
{code:javascript}
function getDocHeight() {
var D = document;
return Math.max(
D.body.scrollHeight, D.documentElement.scrollHeight,
D.body.offsetHeight, D.documentElement.offsetHeight,
D.body.clientHeight, D.documentElement.clientHeight
);
}
{code}
Further details on the cross-browser issue can be found here:
http://stackoverflow.com/questions/1145850/how-to-get-height-of-entire-document-with-javascript
http://james.padolsey.com/snippets/get-document-height-cross-browser/
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)