Avatar billede laksen Nybegynder
08. maj 2003 - 17:30 Der er 23 kommentarer og
1 løsning

Indre værdi af vindue

Jeg skal bruge en kodestump, der returnerer den indre værdi af et vindue. Dermed mener jeg den bredde i vinduet, der kan benyttes til html eller lign. Værdien skal være uden scrollbar!

Jeg fandt følgende kode her på eksperten:
indre_vaerdi = (document.all) ? document.body.offsetWidth : window.innerWidth;

Den fratrækker imidlertid ikke scrollbarens bredde. Jeg kan selvfølgelig selv trække 21px fra, hvilket er bredden i min browser, men andre browsere har vel andre tykkelser scrollbar?

Den skal kunne benyttes i alle browsere!
Avatar billede olebole Juniormester
08. maj 2003 - 17:47 #1
<ole>

Check bredden af scrollbaren i forskellige browsere - på forskellige platform. Det er din eneste mulighed. Der findes desværre ingen standard-løsning på det problem  :o|

/mvh
</bole>
Avatar billede Slettet bruger
08. maj 2003 - 17:50 #2
Avatar billede olebole Juniormester
08. maj 2003 - 17:56 #3
Nuvel, det er _meget_ gammelt - og tager f.eks. heller ikke højde for forskelle mellem Windows og MacOS.
NS4.X/Win - som Steinmans side omhandler - tog 16px til scrollbaren. NS6/Win tager 13-14px  :)
/mvh
Avatar billede Slettet bruger
08. maj 2003 - 17:58 #4
Jep. Også kun ment som et skridt på vejen! :)
Avatar billede Slettet bruger
08. maj 2003 - 17:59 #5
Derudover kan man heller ikke nødvendigvis regne med, at scrollbaren er der i NS6.
Avatar billede Slettet bruger
08. maj 2003 - 18:01 #6
Også værd at tage et kig på:
http://www.xs4all.nl/~ppk/js/doctypes.html
Avatar billede olebole Juniormester
08. maj 2003 - 18:12 #7
Mon ikke den bedste metode er at have et skjult block-element - f.eks. et div - og så aftaste dets bredde med ELEMENT.offsetWidth og derefter tillægge højre og venstre margin?
Det burde vel kunne gøre det i alle browsere  :)
Avatar billede olebole Juniormester
08. maj 2003 - 18:13 #8
... altså tillægge body'ens marginer  ;o)
Avatar billede Slettet bruger
08. maj 2003 - 18:20 #9
Ja, alle browsere, der understøtter elm.offsetWidth. :)
Avatar billede olebole Juniormester
08. maj 2003 - 18:27 #10
Hehe ... Lynx is out - men ellers er det zq'tte mange  :D
Avatar billede laksen Nybegynder
08. maj 2003 - 18:32 #11
Hvordan gør man det der med det skjulte block-element?
Avatar billede olebole Juniormester
08. maj 2003 - 19:09 #12
<html>
<head>
<script type="text/JavaScript">
var w, d=document;
window.onload = function() {
    if (d.all) w = d.all.basse.offsetWidth + (parseInt(d.body.style.margin)*2);
    else w = d.getElementById("basse").offsetWidth + (parseInt(d.body.style.margin)*2);
    alert(w);
}
</script>
</head>
<body style="margin:20px;">

<div id="basse" style="visibility:hidden;font-size:1px;height:1px;">&nbsp;</div>

</body>
</html>

/mvh
Avatar billede olebole Juniormester
08. maj 2003 - 19:13 #13
OBS: Margin på body _skal_ være sat inline (som vist).
Du kan _ikke_ sætte den i et style-sheet - da du så ikke kan aftaste den på body-elementets style-objekt  ;o)
Avatar billede laksen Nybegynder
08. maj 2003 - 19:19 #14
nu har jeg noget at arbejde videre med
Avatar billede Slettet bruger
10. maj 2003 - 09:51 #15
olebole>> NS4? Hvad med den?
Avatar billede olebole Juniormester
10. maj 2003 - 15:16 #16
Ehhhhh ...... ja, hvad med den? Hvis du mener, om dette virker i NS4, så nej. Den er ligesom Lynx ikke omfattet  :D
Men hvis man er pedantisk antik-interesseret, kan bredden her hentes med:
  if (document.layers) w = window.innerWidth-16;
Avatar billede Slettet bruger
10. maj 2003 - 15:18 #17
Du sagde bare noget om "alle browsere", og så ringede der en klokke et sted inde i hjernegrøden. :)
Avatar billede olebole Juniormester
10. maj 2003 - 15:41 #18
Så tror jeg grøden er blevet muggen  ;o))
Prøv at læse tråden igennem igen. Så vil du se, det forholder sig helt anderledes. Jeg har på intet tidspunkt nævnt noget om "alle vrowsere" ... tværtimod  :)
/mvh
Avatar billede Slettet bruger
10. maj 2003 - 15:43 #19
Aarh... Hvad med sidste linje af 08/05-2003 18:12:12 ? :)
Avatar billede olebole Juniormester
10. maj 2003 - 15:54 #20
Jeg brugte vist også ordet 'pedantisk'  ;o)
Du kan jo prøve at læse de næste par indlæg - så tror jeg, vi allerede én gang er blevet enige om, det gælder DOM-kompatible browsere  :)
/mvh
Avatar billede Slettet bruger
10. maj 2003 - 16:00 #21
Ja ja, selvfølgelig er jeg klar over det.
Du plejer bare selv at være efter upræcise formuleringer, og så troede jeg lige, jeg havde en chance for hævn! :)
Avatar billede olebole Juniormester
10. maj 2003 - 16:42 #22
*LooL* Jeg tager det absolut også for gas og sjov ... hvilket jeg også håber er fremgået af mine smileys  ;o))
Avatar billede Slettet bruger
11. maj 2003 - 16:55 #23
Ja, de er nogle lumske sataner, de grinbiddere:
:)  8-))  @%=)
Avatar billede Slettet bruger
11. maj 2003 - 16:55 #24
grinbiddere = grinebiddere
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester