guacamole-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marko Nikolić (JIRA) <j...@apache.org>
Subject [jira] [Updated] (GUACAMOLE-164) guacViewport invalid height calculation
Date Sun, 22 Jan 2017 20:22:26 GMT

     [ https://issues.apache.org/jira/browse/GUACAMOLE-164?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Marko Nikolić updated GUACAMOLE-164:
------------------------------------
    Description: 
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 the result 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/


  was:
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/



> 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 the result 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)

Mime
View raw message