ugrás a tartalomhoz

Teljes méretű ablak magassága

toldigabor · 2013. Nov. 21. (Cs), 22.41
Hogyan lehet a teljes méretű ablak magasságát lekérdezni JavaScript-ben? A legegyszerűbb az lenne ha a screen.height-ből kivonnám a böngészőablak "nem hasznos" területeinek (kedvencek sáv, címsor, stb.) magasságát.
 
1

Firebug

Hidvégi Gábor · 2013. Nov. 22. (P), 15.13
Én Firebugban a DOM fülön nézelődnék.
3

Kód

MadBence · 2013. Nov. 22. (P), 17.10
document.documentElement.clientHeight; // layout viewport height
// vagy
window.innerHeight; // visual viewport height
// vagy
$(window).height();
visual vs layout viewport és
There’s a formal difference between the two property pairs: document.documentElement.clientWidth and -Height doesn’t include the scrollbar, while window.innerWidth/Height does. That’s mostly a nitpick, though.

The fact that we have two property pairs is a holdover from the Browser Wars. Back then Netscape only supported window.innerWidth/Height and IE only document.documentElement.clientWidth and -Height. Since then all other browsers started to support clientWidth/Height, but IE didn’t pick up window.innerWidth/Height.
2

Úgy érted, hogy a maximális

bamegakapa · 2013. Nov. 22. (P), 17.04
Úgy érted, hogy a maximális méretű ablak viewport magasságát? Tehát ha nem maximális méretben van éppen a böngészőablak, akkor is a maximális méretű ablakét, ami az adott képernyőn elérhető? Szerintem erre nincs mód.
4

Edit: Ja, félreértettem.

hunkris · 2013. Nov. 22. (P), 18.09
Edit: Ja, félreértettem.
5

Lehet, hogy

Pepita · 2013. Nov. 23. (Szo), 07.18
arra gondol pedig, mert kivonni akar screen-ből. Van böngészőablak külső méretére fv? (Én nem találtam, esetleg valami jQuery-varázslat?) Mert akkor megoldható: screen - külső méret + belső méret.

Mondjuk azt nem értem, hogy ha normál méretű egy ablak, akkor miért kell a teljes méretű hasznos mérete.
6

Elvileg lehet, gyakorlatilag nem

Endyl · 2013. Nov. 23. (Szo), 11.16
Elvileg ez működhetne modern böngészőkben:
var windowChromeHeight = window.outerHeight - window.innerHeight,
    maxWindowHeight = window.screen.availHeight - windowChromeHeight;
Gyakorlatilag viszont más lehet a böngésző chrome-jának a mérete normál és teljes méretben (Firefoxnál biztos, hogy más), így csak körülbelül kaphatjuk meg a teljes elérhető méretet.
7

Létezik?

Pepita · 2013. Nov. 23. (Szo), 16.02
A window objektumnak is van (elérhető) outerHeight tulajdonsága? Erre majd keresnem kell, látom, hogy le vagyok maradva. :(
8

Más kérdés, hogy az operációs

MadBence · 2013. Nov. 23. (Szo), 20.34
Más kérdés, hogy az operációs rendszer menüi, stb szintén helyet vehetnek el.
11

availHeight

Endyl · 2013. Nov. 23. (Szo), 22.45
Ezért írtam a screen.availHeight-ot, mert abban elvileg ezek már nincsenek benne, csak ami ténylegesen elérhető magasság a böngészőablaknak.

De persze lényegtelen, mert van egyéb bizonytalansági tényező, ami nem teszi lehetővé a pontos számolást.

Mondjuk már engem is érdekelne, hogy miért van erre egyáltalán szükség.
19

Végül is a 6. hozzászólás

toldigabor · 2013. Dec. 9. (H), 05.56
Végül is a 6. hozzászólás alapján sikerült "összeeszkábálnom" már előbb. Köszi Endyl :)
9

Hogy lehet....

toldigabor · 2013. Nov. 23. (Szo), 21.14
Kipróbáltam ezt az innerHeight, outerheight dolgot, de az 1920x1080-as felbontásomra teljes méretű ablakra a következő értékek jöttek ki a különböző böngészőkre:
Internet Explorer 10: in-971, out-1096 (ez meg hogy lehet, amikor csak 1080-as)
Mozilla Firefox 25: in-991, out-1096
Google Chrome 31: in-992, out-1080 (na ez mondjuk végre valós)
Safari 5+: in-997, out-1096
Opera 12+: in-996, out-1029 (ez meg kevesebb)
10

Ablakkeret

Pepita · 2013. Nov. 23. (Szo), 22.01
(ez meg hogy lehet, amikor csak 1080-as)
Úgy, hogy a teljes méretű ablaknak is van kerete, és ez a képernyőn kívül helyezkedik már el.

Látva a különbségeket (Opera gondolom a gördítősávot, vagy valami oldalsó menüt nem számol) nem hinném, hogy találsz pontos és jó megoldást, kijöttek a böngészőkülönbségek. Esetleg próbáld valamelyik újabb jQuery-vel, ha van benne ilyesmi fv., az áthidalhatja neked a böngészők különbségeit.

Jó lenne, ha arra a felvetésre válaszolnál, hogy normál méretű ablak esetén is a teljes méretűét akarod tudni? Mert az adatokból úgy tűnik, hogy normál méretűek, vagy elírtad a képernyőméreted.
Google Chrome 31: in-992, out-1080 (na ez mondjuk végre valós)
Ezt honnan tudod biztosan? Mentetted képernyőképként?
12

Ablakméret

toldigabor · 2013. Nov. 24. (V), 09.40
Eredetileg a teljes méretű ablakot szerettem volna, hogy a dinamikus méretezhető section elemeim mindig az ablak szélesség/hosszúság arányában változzanak, de végül is meg lehet oldani egy onresize eseménykezelővel, lehet még jobb is így.
A felbontásom 1920x1080-as és csak azért írtam, hogy a Chrome-on reális az innerHeight-nél a 992, mert nem veszi bele a címsort, a könyvjelző eszköztárat és a lapfüleket (legalább is gondolom).
13

Jobb is

Pepita · 2013. Nov. 24. (V), 11.56
onresize eseménykezelővel, mert akkor érdekes a mérete, nem máskor (+ ugye az onload).
(legalább is gondolom)
Ne gondold, hanem tudd: képernyőkép, aztán egy fasza képszerkesztő, és leméred.

A section elemeid CSS-el is tudnak arányosan változni, miért JS-el akarod megoldani?

Szerk.: egyébként nagyon helyes, hogy reszponzív design-ban gondolkodsz.
Szerk2.: Lévén section elemekről szó, neked megfelelne a szülő elem (ha más nem: body) belső szélessége, amit pontosan le tudsz kérdezni, a magasságot pedig nem értem, hogy miért nem hagyod a tartalomra, hogy megszabja. Valami grafikai történet, nem akarod, hogy görgessen?
14

+1 a CSS-re, amíg lehet,

bamegakapa · 2013. Nov. 24. (V), 13.37
+1 a CSS-re, amíg lehet, érdemes abban gondolkodni layout ügyben - meglepően sok dolgot lehet vele megoldani.
15

Látogató állítja

toldigabor · 2013. Nov. 24. (V), 18.27
Azért kell a JS, mert a látogató állítja a méretet.
16

Kifejthetnéd

Pepita · 2013. Nov. 25. (H), 01.47
Kezdem nagyon nem érteni, hogy miről is van szó, kifejthetnéd egyben részletesebben, linkeld az oldalt, stb., mert már kb. gőzöm sincs, hogy mit is szeretnél...
17

Fejlesztés alatt...

toldigabor · 2013. Nov. 26. (K), 20.59
Még fejlesztés alatt van az oldal
18

Az rendben,

Pepita · 2013. Nov. 26. (K), 22.01
de így nem, vagy rosszul segítünk - én legalábbis -, ha nem értjük konkrétan a célt.
20

Végül is a 6. hozzászólás

toldigabor · 2013. Dec. 9. (H), 06.13
Végül is a 6. hozzászólás alapján sikerült összedobnom már előbb. Köszi Endyl :)