JavaScript Window - 瀏覽器對象模型
瀏覽器對象模型 (BOM)
瀏覽器對象模型(Browser?Object?Model (BOM))尚無正式標準。
由于現(xiàn)代瀏覽器已經(jīng)(幾乎)實現(xiàn)了 JavaScript 交互性方面的相同方法和屬性,因此常被認為是 BOM 的方法和屬性。
window 對象
瀏覽器打開一個文檔,就創(chuàng)建了一個 window 對象,即 window 對象表示瀏覽器中打開的窗口。
window 對象是全局對象,可以把窗口的屬性作為全局變量來使用。例如,可以只寫 document,而不必寫 window.document。同樣,可以把當前窗口對象的方法當作函數(shù)來使用,如只寫 alert(),而不必寫 Window.alert()。
如果文檔包含框架(frame),瀏覽器會為文檔創(chuàng)建一個 window 對象,并為每個框架創(chuàng)建一個額外的 window 對象。
提示:window 對象雖然沒有明確的相關標準,但所有瀏覽器都支持該對象。
HTML DOM 的 document 也是 window 對象的屬性之一:
window.document.getElementById("header");
與此相同:
document.getElementById("header");
Window 尺寸
有三種方法能夠確定瀏覽器窗口的尺寸(瀏覽器的視口,不包括工具欄和滾動條)。
對于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:
window.innerHeight - 瀏覽器窗口的內部高度
window.innerWidth - 瀏覽器窗口的內部寬度
對于 Internet Explorer 8、7、6、5:
document.documentElement.clientHeight
document.documentElement.clientWidth
或者
document.body.clientHeight
document.body.clientWidth
實用的 JavaScript 方案(涵蓋所有瀏覽器):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p id="demo"></p> <script> var w=window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var h=window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; x=document.getElementById("demo"); x.innerHTML="瀏覽器window寬度: " + w + ", 高度: " + h + "。" </script> </body> </html>
其他 Window 方法
一些其他方法:
window.open() - 打開新窗口
window.close() - 關閉當前窗口
window.moveTo() - 移動當前窗口
window.resizeTo() - 調整當前窗口的尺寸