2009-06-25 10 views

Antwort

0

Ich glaube, das ist, was Sie

document.body.offsetWidth 
document.body.offsetHeight 
+0

Das gibt mir immer noch die innere Höhe des Browsers (nur die Seite). Ich möchte, dass alles einschließlich der Nav, Tasten etc. –

+1

Ich glaube nicht, dass es möglich ist. –

+0

tatsächlich könnten Sie dazu in der Lage sein. weil window.screen.availHeight die Höhe des Bildschirms minus der Taskleiste angibt. Wenn Sie also etwas subtrahieren, können Sie vielleicht die Größe der Navigationsleiste und der Tabs bestimmen, vorausgesetzt, das Fenster ist normal und vollständig von Kante zu Kante angeordnet. Sobald Sie die Größe der Navigations- und Tab-Leiste (Höhe) haben, können Sie diese zu dem hinzufügen oder subtrahieren, was Sie wollen. was in der Welt ist mit IE nicht geben Bildschirmgröße Informationen aus? –

0

möchte ich glaube, Sie

width: window.outerWidth 
height: window.outerHeight 

Sie jquery verwenden können, so wird es nicht undefiniert in dh verwenden können. Sie könnten versuchen, herauszufinden, Bildschirmgröße zuerst und dann mit den Abmessungen des Browsers herauszufinden, die genaue Größe.

doc: http://docs.jquery.com/Plugins/dimensions/outerHeight

+0

-1 Das ist nicht was er will. jQuerys OuterHeight/Width enthält border & padding (http://docs.jquery.com/CSS/outerHeight), aber er möchte nav, buttons usw. enthalten –

3

Dies auch hilfreich sein könnte, je nachdem, was genau Sie versuchen zu erreichen:

window.moveTo (0,0); window.resizeTo (screen.width, screen.height); var navButtonsEtcHeight = screen.height - window.innerHeight; var navButtonsEtcWidth = Bildschirmbreite - window.innerWidth;

Hinweis: Für browserunabhängige Lösung „window.innerHeight“ Unterstützung finden this link

Dann haben Sie die Antwort, die Sie suchen - wohlgemerkt, mit der Unterseite des Nicht-Vollbild-Benutzer sehen ihr Fenster springt zuerst um den Bildschirm herum.

+0

+1 Das ist keine praktische Lösung, aber es ist clever. –

+0

Leider ist 'window.resizeTo' im IE nicht mehr zuverlässig. Zum Beispiel funktioniert es nicht, wenn Tabbed Browsing aktiviert ist. –

2

Es ist eine Variation von DreadPirateShawn's Antwort. Getestet auf IE7 und Chrome8. Ursprünglich erschienen auf Experts Exchange.

function getWindowSize() { 
    var wW, wH; 
    if (window.outerWidth) { 
     wW = window.outerWidth; 
     wH = window.outerHeight; 
    } else { 
     var cW = document.body.offsetWidth; 
     var cH = document.body.offsetHeight; 
     window.resizeTo(500,500); 
     var barsW = 500 - document.body.offsetWidth; 
     var barsH = 500 - document.body.offsetHeight; 
     wW = barsW + cW; 
     wH = barsH + cH; 
     window.resizeTo(wW,wH); 
    } 
    return { width: wW, height: wH }; 
} 
+0

Diese Funktion erstellt 6 globale Variablen, die Sie wirklich nicht möchten. Außerdem wäre es sauberer, zuerst nach window.outerWidth/outerHeight zu suchen oder nach document.all zu suchen. –

+0

@ Andrew - in der Tat. – Saul

Verwandte Themen