Avatar billede the_saint Nybegynder
02. november 2004 - 18:07 Der er 12 kommentarer og
2 løsninger

Højde på browser.

Hey..
Jeg skal have en funktion, som kan retunere højden på brugerens synlige felt i browsere, altså ikke hans opløsning.
Og hvordan gør jeg sådan at hver gang størrelsen ændre sig så opdatere variablen sig..
Avatar billede skovenborg Nybegynder
02. november 2004 - 19:10 #1
Prøv:
function windowHeight() {
        var h = 0;
        if (typeof window.innerHeight == "number") {h = window.innerHeight;}
        else if (document.documentElement && typeof document.documentElement.clientHeight == "number") {h = document.documentElement.clientHeight;}
        return h;
  }
  var winH = windowHeight;
  window.onresize = function() {
                winH = windowHeight();
                window.status = winH;
}
Avatar billede skovenborg Nybegynder
02. november 2004 - 19:10 #2
testet i Firefox, IE6.0 og Opera 7
Avatar billede olebole Juniormester
02. november 2004 - 19:11 #3
<ole>

Det er lidt afhængig af, hvordan din kode ellers er skrevet. Denne tager dog højde for det værste 'slam'  :)

function getHeight() {
    var h = (document.compatMode.toLowerCase()=="backcompat")? document.body.offsetHeight : document.documentElement.clientHeight;
    return h;
}

/mvh
</bole>
Avatar billede olebole Juniormester
02. november 2004 - 19:18 #4
Nåja ... vi skal jo også tage højde for den norske naturkatastrofe, Opera  :o|

function getHeight() {
    var h = (document.compatMode.toLowerCase().indexOf("CSS")==-1)? document.body.offsetHeight : document.documentElement.clientHeight;
    return h;
}
Avatar billede skovenborg Nybegynder
02. november 2004 - 19:19 #5
hmm, hvorfor tester du for document.compatMode osv.? Virker lidt mærkeligt må jeg sige...
Avatar billede the_saint Nybegynder
02. november 2004 - 19:57 #6
skovenborg, smid et svar :) i får begge point - brugte lidt af hver :D
Avatar billede skovenborg Nybegynder
02. november 2004 - 20:01 #7
okay :-)
Avatar billede the_saint Nybegynder
02. november 2004 - 20:12 #8
her :)
Avatar billede olebole Juniormester
02. november 2004 - 20:13 #9
skovenborg >> Nej, det er ikke så mærkeligt. Enormt mange bruger en DTD som denne:
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Den sætter IE i quirksmode, hvor den ikke opfylder standarderne. Det tester jeg for med 'document.compatMode', så jeg altid får returneret den korrekte værdi - og som du ser med en betydeligt slankere kode  ;o)
Avatar billede olebole Juniormester
02. november 2004 - 20:18 #10
... som du kan se, virker dit script ikke i IE med den DTD, jeg viste ovenfor  :)
Avatar billede skovenborg Nybegynder
02. november 2004 - 21:23 #11
okay - tænkte det var lidt ligesom dem som tester for IE med document.all, altså tester for én ting og udfører noget helt tredje. Men jeg må skynde mig at sige at sådan er den der jo trods alt ikke. Så tak for tippet ;-)
Avatar billede olebole Juniormester
02. november 2004 - 21:53 #12
Nu er lige 'document.all' en rigtig dårlig ting at bruge, da Opera også forstår den - men ellers er 'teknologi-check' ellers ikke noget, jeg har spor imod. F.eks. kan du altid checke, om en browser er en IE5.5+ ved at spørge til, om den forstår 'window.createPopup'.

Bevares, _hvis_ en anden browserfabrikant skulle kunne finde på at implementere 'window.createPopup', er du naturligvis på spanden ... det er dog alt andet end sandsynligt. Heldigvis er det vist kun de norske browserprogrammører, der brænder så meget træsprit  :)

I øvrigt returnerer Opera naturligvis (*host-host*) 'quirksMode', hvor alle andre returnerer 'backCompat', når browseren ikke opfylder standarderne. Derfor min lille rettelse  :o|

Selvtak, forresten  ;o)
/mvh
Avatar billede skovenborg Nybegynder
02. november 2004 - 22:26 #13
jeg ville så nok personligt kun checke for window.createPopup hvis jeg rent faktisk skulle bruge den - det var mere det jeg mente ;-)
Avatar billede olebole Juniormester
02. november 2004 - 22:53 #14
Jeg ved godt, hvad du mente - og det må du gerne blive ved med  ;o)
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