轉自:http://www.nowamagic.net/javascript/js_GetBrowserSize.php程式示範:
擷取瀏覽器當前視窗大小。當瀏覽器視窗大小變化時,顯示的值會隨時變化。
程式主要使用了Document對象關於視窗的一些屬性,這些屬性的主要功能和用法如下:
- 要得到視窗的尺寸,對於不同的瀏覽器,需要使用不同的屬性和方法:若要檢測視窗的真實尺寸,在Netscape下需要使用Window的屬性;在IE下需要深入Document內部對body進行檢測;在DOM環境下,若要得到視窗的尺寸,需要注意根項目<html>的尺寸,而不是<body>元素。
- Window對象的innerWidth屬性包含當前視窗的內部寬度。Window對象的innerHeight屬性包含當前視窗的內部高度。
- Document對象的body屬性對應HTML文檔的<body>標籤。Document對象的documentElement屬性則表示 HTML文檔的根節點。
- document.body.clientHeight表示HTML文檔所在視窗的當前高度。document.body. clientWidth表示HTML文檔所在視窗的當前寬度。
var winWidth = 0;var winHeight = 0;function findDimensions() //函數:擷取尺寸{// 擷取視窗寬度if (window.innerWidth)winWidth = window.innerWidth;else if ((document.body) && (document.body.clientWidth))winWidth = document.body.clientWidth;// 擷取視窗高度if (window.innerHeight)winHeight = window.innerHeight;else if ((document.body) && (document.body.clientHeight))winHeight = document.body.clientHeight; // 通過深入Document內部對body進行檢測,擷取視窗大小if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth){ winHeight = document.documentElement.clientHeight; winWidth = document.documentElement.clientWidth;} // 結果輸出至兩個文字框document.form1.availHeight.value= winHeight;document.form1.availWidth.value= winWidth;}findDimensions(); // 調用函數,擷取數值window.onresize=findDimensions;
程式實現步驟:
- 程式首先建立一個表單,包含兩個文字框,用於顯示視窗當前的寬度和高度,並且,其數值會隨視窗大小的改變而變化。
- 在隨後的JavaScript代碼中,首先定義了兩個變數winWidth和winHeight,用於儲存視窗的高度值和寬度值。
- 然後,在函數findDimensions ( )中,使用window.innerHeight和window.innerWidth得到視窗的高度和寬度,並將二者儲存在前述兩個變數中。
- 再通過深入Document內部對body進行檢測,擷取視窗大小,並儲存在前述兩個變數中。
- 在函數的最後,通過按名稱訪問表單元素,結果輸出至兩個文字框。
- 在JavaScript代碼的最後,通過調用findDimensions ( )函數,完成整個操作。