Window 對象
Window 對象是 JavaScript 層級中的頂層對象。
Window 對象代表一個浏覽器窗口或一個框架。
Window 對象會在 <body> 或 <frameset> 每次出現時被自動創建。
有關 Window 對象的詳細描述。
IE: Internet Explorer, F: Firefox, O: Opera.
Window 對象的集合
Collection |
Description |
IE |
F |
O |
frames[]
返回窗口中所有命名的框架。該集合是 Window 對象的數組,每個 Window 對象在窗口中含有一個框架或 <iframe>。屬性 frames.length 存放數組 frames[] 中含有的元素個數。注意,frames[] 數組中引用的框架可能還包括框架,它們自己也具有 frames[] 數組。
4
1
9
Window 對象的屬性
屬性 |
描述 |
IE |
F |
O |
closed
返回窗口是否已被關閉。
4
1
9
defaultStatus
設置或返回窗口狀態欄中的默認文本。
4
No
9
document
對 Document 對象的只讀引用。請參閱 Document 對象。
4
1
9
history
對 History 對象的只讀引用。請參數 History 對象。
4
1
9
innerheight
返回窗口的文檔顯示區的高度。
No
No
No
innerwidth
返回窗口的文檔顯示區的寬度。
No
No
No
length
設置或返回窗口中的框架數量。
4
1
9
location
用於窗口或框架的 Location 對象。請參閱 Location 對象。
4
1
9
name
設置或返回窗口的名稱。
4
1
9
Navigator
對 Navigator 對象的只讀引用。請參數 Navigator 對象。
4
1
9
opener
返回對創建此窗口的窗口的引用。
4
1
9
outerheight
返回窗口的外部高度。
No
No
No
outerwidth
返回窗口的外部寬度。
No
No
No
pageXOffset
設置或返回當前頁面相對於窗口顯示區左上角的 X 位置。
No
No
No
pageYOffset
設置或返回當前頁面相對於窗口顯示區左上角的 Y 位置。
No
No
No
parent
返回父窗口。
4
1
9
Screen
對 Screen 對象的只讀引用。請參數 Screen 對象。
4
1
9
self
返回對當前窗口的引用。等價於 Window 屬性。
4
1
9
status
設置窗口狀態欄的文本。
4
No
9
top
返回最頂層的先輩窗口。
4
1
9
window
window 屬性等價於 self 屬性,它包含了對窗口自身的引用。
4
1
9
- screenLeft
- screenTop
- screenX
- screenY
只讀整數。聲明了窗口的左上角在屏幕上的的 x 坐標和 y 坐標。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。
4
1
9
Window 對象的方法
方法 |
描述 |
IE |
F |
O |
alert()
顯示帶有一段消息和一個確認按鈕的警告框。
4
1
9
blur()
把鍵盤焦點從頂層窗口移開。
4
1
9
clearInterval()
取消由 setInterval() 設置的 timeout。
4
1
9
clearTimeout()
取消由 setTimeout() 方法設置的 timeout。
4
1
9
close()
關閉浏覽器窗口。
4
1
9
confirm()
顯示帶有一段消息以及確認按鈕和取消按鈕的對話框。
4
1
9
createPopup()
創建一個 pop-up 窗口。
4
No
No
focus()
把鍵盤焦點給予一個窗口。
4
1
9
moveBy()
可相對窗口的當前坐標把它移動指定的像素。
4
1
9
moveTo()
把窗口的左上角移動到一個指定的坐標。
4
1
9
open()
打開一個新的浏覽器窗口或查找一個已命名的窗口。
4
1
9
print()
打印當前窗口的內容。
5
1
9
prompt()
顯示可提示用戶輸入的對話框。
4
1
9
resizeBy()
按照指定的像素調整窗口的大小。
4
1
9
resizeTo()
把窗口的大小調整到指定的寬度和高度。
4
1.5
9
scrollBy()
按照指定的像素值來滾動內容。
4
1
9
scrollTo()
把內容滾動到指定的坐標。
4
1
9
setInterval()
按照指定的周期(以毫秒計)來調用函數或計算表達式。
4
1
9
setTimeout()
在指定的毫秒數後調用函數或計算表達式。
4
1
9
Window 對象的描述
Window 對象表示一個浏覽器窗口或一個框架。在客戶端 JavaScript 中,Window 對象是全局對象,所有的表達式都在當前的環境中計算。也就是說,要引用當前窗口根本不需要特殊的語法,可以把那個窗口的屬性作為全局變量來使用。例如,可以只寫 document,而不必寫 window.document。
同樣,可以把當前窗口對象的方法當作函數來使用,如只寫 alert(),而不必寫 Window.alert()。
除了上面列出的屬性和方法,Windos 對象還實現了核心 JavaScript 所定義的所有全局屬性和方法。
Window 對象的 window 屬性和 self 屬性引用的都是它自己。當你想明確地引用當前窗口,而不僅僅是隱式地引用它時,可以使用這兩個屬性。除了這兩個屬性之外,parent 屬性、top 屬性以及 frame[] 數組都引用了與當前 Window 對象相關的其他 Window 對象。
要引用窗口中的一個框架,可以使用如下語法:
frame[i] //當前窗口的框架
self.frame[i] //當前窗口的框架
w.frame[i] //窗口 w 的框架
要引用一個框架的父窗口(或父框架),可以使用下面的語法:
parent //當前窗口的父窗口
self.parent //當前窗口的父窗口
w.parent //窗口 w 的父窗口
要從頂層窗口含有的任何一個框架中引用它,可以使用如下語法:
top //當前框架的頂層窗口
self.top //當前框架的頂層窗口
f.top //框架 f 的頂層窗口
新的頂層浏覽器窗口由方法 Window.open() 創建。當調用該方法時,應把 open() 調用的返回值存儲在一個變量中,然後使用那個變量來引用新窗口。新窗口的 opener 屬性反過來引用了打開它的那個窗口。
一般來說,Window 對象的方法都是對浏覽器窗口或框架進行某種操作。而 alert() 方法、confirm() 方法和 prompt 方法則不同,它們通過簡單的對話框與用戶進行交互。
Navigator 對象
Navigator 對象實際上是一個 JavaScript 對象,而不是 HTML DOM 對象。
Navigator 對象是由 JavaScript runtime engine 自動創建的,包含有關客戶機浏覽器的信息。
IE: Internet Explorer, F: Firefox, O: Opera.
Navigator 對象的集合
集合 |
描述 |
IE |
F |
O |
plugins[]
返回對文檔中所有嵌入式對象的引用。
該集合是一個 Plugin 對象的數組,其中的元素代表浏覽器已經安裝的插件。Plug-in 對象提供的是有關插件的信息,其中包括它所支持的 MIME 類型的列表。
雖然 plugins[] 數組是由 IE 4 定義的,但是在 IE 4 中它卻總是空的,因為 IE 4 不支持插件和 Plugin 對象。
4
1
9
Navigator 對象的屬性
屬性 |
描述 |
IE |
F |
O |
appCodeName
返回浏覽器的代碼名。
4
1
9
appMinorVersion
返回浏覽器的次級版本。
4
No
No
appName
返回浏覽器的名稱。
4
1
9
appVersion
返回浏覽器的平台和版本信息。
4
1
9
browserLanguage
返回當前浏覽器的語言。
4
No
9
cookieEnabled
返回指明浏覽器中是否啟用 cookie 的布爾值。
4
1
9
cpuClass
返回浏覽器系統的 CPU 等級。
4
No
No
onLine
返回指明系統是否處於脫機模式的布爾值。
4
No
No
platform
返回運行浏覽器的
操作系統平台。
4
1
9
systemLanguage
返回 OS 使用的默認語言。
4
No
No
userAgent
返回由客戶機發送服務器的 user-agent 頭部的值。
4
1
9
userLanguage
返回 OS 的自然語言設置。
4
No
9
Navigator 對象的方法
方法 |
描述 |
IE |
F |
O |
javaEnabled()
規定浏覽器是否啟用 Java。
4
1
9
taintEnabled()
規定浏覽器是否啟用數據污點 (data tainting)。
4
1
9
HTML DOM Screen 對象
Screen 對象
Screen 對象實際上是 JavaScript 對象,而不是 HTML DOM 對象。
Screen 對象是由 JavaScript runtime engine 自動創建的,包含有關客戶機顯示屏幕的信息。
每個 Window 對象的 screen 屬性都引用一個 Screen 對象。Screen 對象中存放著有關顯示浏覽器屏幕的信息。JavaScript 程序將利用這些信息來優化它們的輸出,以達到用戶的顯示要求。例如,一個程序可以根據顯示器的尺寸選擇使用大圖像還是使用小圖像,它還可以根據顯示器的顏色深度選擇使用 16 位色還是使用 8 位色的圖形。另外,JavaScript 程序還能根據有關屏幕尺寸的信息將新的浏覽器窗口定位在屏幕中間。
IE: Internet Explorer, F: Firefox, O: Opera.
Screen 對象的屬性
屬性 |
描述 |
IE |
F |
O |
availHeight
返回顯示屏幕的高度 (除
Windows 任務欄之外)。
4
1
9
availWidth
返回顯示屏幕的寬度 (除 Windows 任務欄之外)。
4
1
9
bufferDepth
設置或返回在 off-screen bitmap buffer 中調色板的比特深度。
4
No
No
colorDepth
返回目標設備或緩沖器上的調色板的比特深度。
4
1
9
deviceXDPI
返回顯示屏幕的每英寸水平點數。
6
No
No
deviceYDPI
返回顯示屏幕的每英寸垂直點數。
6
No
No
fontSmoothingEnabled
返回用戶是否在顯示控制面板中啟用了字體平滑。
4
No
No
height
返回顯示屏幕的高度。
4
1
9
logicalXDPI
返回顯示屏幕每英寸的水平方向的常規點數。
6
No
No
logicalYDPI
返回顯示屏幕每英寸的垂直方向的常規點數。
6
No
No
pixelDepth
返回顯示屏幕的顏色分辨率(比特每像素)。
No
1
9
updateInterval
設置或返回屏幕的刷新率。
4
No
No
width
返回顯示器屏幕的寬度。
4
1
9
HTML DOM History 對象
History 對象
History 對象實際上是 JavaScript 對象,而不是 HTML DOM 對象。
History 對象是由 JavaScript runtime engine 自動創建的,由一系列的 URL 組成。這些 URL 是用戶在一個浏覽器窗口內已訪問的 URL 。
History 對象最初設計來表示窗口的浏覽歷史。但出於隱私方面的原因,History 對象不再允許腳本訪問已經訪問過的實際 URL。唯一保持使用的功能只有 back()、forward() 和 go() 方法。
History 對象是 window 對象的一部分,可通過 window.history 屬性對其進行訪問。
IE: Internet Explorer, F: Firefox, O: Opera.
History 對象的屬性
屬性 |
描述 |
IE |
F |
O |
length
返回浏覽器歷史列表中的 URL 數量
4
1
9
History 對象的方法
方法 |
描述 |
IE |
F |
O |
back()
加載 history 列表中的前一個 URL
4
1
9
forward()
加載 history 列表中的下一個 URL
4
1
9
go()
加載 history 列表中的某個具體頁面
4
1
9
HTML DOM Location 對象
Location 對象
Location 對象實際上是 JavaScript 對象,而不是 HTML DOM 對象。
Location 對象是由 JavaScript runtime engine 自動創建的,包含有關當前 URL 的信息。
例子:把用戶帶到一個新的地址
Location 對象是 Window 對象的一個部分,可通過 window.location 屬性來訪問。
有關 Location 對象的詳細描述。
IE: Internet Explorer, F: Firefox, O: Opera.
Location 對象的屬性
屬性 |
描述 |
IE |
F |
O |
hash
設置或返回從井號 (#) 開始的 URL(錨)。
4
1
9
host
設置或返回主機名和當前 URL 的端口號。
4
1
9
hostname
設置或返回當前 URL 的主機名。
4
1
9
href
設置或返回完整的 URL。
4
1
9
pathname
設置或返回當前 URL 的路徑部分。
4
1
9
port
設置或返回當前 URL 的端口號。
4
1
9
protocol
設置或返回當前 URL 的協議。
4
1
9
search
設置或返回從問號 (?) 開始的 URL(查詢部分)。
4
1
9
Location 對象的方法
方法 |
描述 |
IE |
F |
O |
assign()
加載新的文檔。
4
1
9
reload()
重新加載當前文檔。
4
1
9
replace()
用新的文檔替換當前文檔。
4
1
9
Location 對象的描述
Location 對象存儲在 Window 對象的 Location 屬性中,表示那個窗口中當前顯示的文檔的 Web 地址。它的 href 屬性存放的是文檔的完整 URL,其他屬性則分別描述了 URL 的各個部分。這些屬性與 Anchor 對象(或 Area 對象)的 URL 屬性非常相似。當一個 Location 對象被轉換成字符串,href 屬性的值被返回。這意味著你可以使用表達式 location 來替代 location.href。
不過 Anchor 對象表示的是文檔中的超鏈接,Location 對象表示的卻是浏覽器當前顯示的文檔的 URL(或位置)。但是 Location 對象所能做的遠遠不止這些,它還能控制浏覽器顯示的文檔的位置。如果把一個含有 URL 的字符串賦予 Location 對象或它的 href 屬性,浏覽器就會把新的 URL 所指的文檔裝載進來,並顯示出來。
除了設置 location 或 location.href 用完整的 URL 替換當前的 URL 之外,還可以修改部分 URL,只需要給 Location 對象的其他屬性賦值即可。這樣做就會創建新的 URL,其中的一部分與原來的 URL 不同,浏覽器會將它裝載並顯示出來。例如,假設設置了Location對象的 hash 屬性,那麼浏覽器就會轉移到當前文檔中的一個指定的位置。同樣,如果設置了 search 屬性,那麼浏覽器就會重新裝載附加了新的查詢字符串的 URL。
除了 URL 屬性外,Location 對象的 reload() 方法可以重新裝載當前文檔,replace() 可以裝載一個新文檔而無須為它創建一個新的歷史記錄,也就是說,在浏覽器的歷史列表中,新文檔將替換當前文檔。
HTML DOM Document 對象
Document 對象
Document 對象代表整個 HTML 文檔,可用來訪問頁面中的所有元素。
Document 對象是 Window 對象的一個部分,可通過 window.document 屬性來訪問。
有關 Document 對象的詳細描述。
IE: Internet Explorer, F: Firefox, O: Opera, W3C: World Wide Web Consortium (Internet 標准).
Document 對象的集合
集合 |
描述 |
IE |
F |
O |
W3C |
all[]
提供對文檔中所有 HTML 元素的訪問。
4
1
9
Yes
anchors[]
返回對文檔中所有 Anchor 對象的引用。
4
1
9
Yes
applets
返回對文檔中所有 Applet 對象的引用。
-
-
-
-
forms[]
返回對文檔中所有 Form 對象引用。
4
1
9
Yes
images[]
返回對文檔中所有 Image 對象引用。
4
1
9
Yes
links[]
返回對文檔中所有 Area 和 Link 對象引用。
4
1
9
Yes
Document 對象的屬性
屬性 |
描述 |
IE |
F |
O |
W3C |
body
提供對 <body> 元素的直接訪問。對於定義了框架集的文檔,該屬性引用最外層的 <frameset>。
cookie
設置或返回與當前文檔有關的所有 cookie。
4
1
9
Yes
domain
返回當前文檔的域名。
4
1
9
Yes
lastModified
返回文檔被最後修改的日期和時間。
4
1
No
No
referrer
返回載入當前文檔的文檔的 URL。
4
1
9
Yes
title
返回當前文檔的標題。
4
1
9
Yes
URL
返回當前文檔的 URL。
4
1
9
Yes
Document 對象的方法
方法 |
描述 |
IE |
F |
O |
W3C |
close()
關閉用 document.open() 方法打開的輸出流,並顯示選定的數據。
4
1
9
Yes
getElementById()
返回對擁有指定 id 的第一個對象的引用。
5
1
9
Yes
getElementsByName()
返回帶有指定名稱的對象集合。
5
1
9
Yes
getElementsByTagName()
返回帶有指定標簽名的對象集合。
5
1
9
Yes
open()
打開一個流,以收集來自任何 document.write() 或 document.writeln() 方法的輸出。
4
1
9
Yes
write()
向文檔寫 HTML 表達式 或 JavaScript 代碼。
4
1
9
Yes
writeln()
等同於 write() 方法,不同的是在每個表達式之後寫一個換行符。
4
1
9
Yes
Document 對象的描述
HTMLDocument 接口對 DOM Document 接口進行了擴展,定義 HTML 專用的屬性和方法。
很多屬性和方法都是 HTMLCollection 對象(實際上是可以用數組或名稱索引的只讀數組),其中保存了對錨、表單、鏈接以及其他可腳本元素的引用。
這些集合屬性都源自於 0 級 DOM。它們已經被 Document.getElementsByTagName() 所取代,但是仍然常常使用,因為他們很方便。
write() 方法值得注意,在文檔載入和解析的時候,它允許一個腳本向文檔中插入動態生成的內容。
注意,在 1 級 DOM 中,HTMLDocument 定義了一個名為 getElementById() 的非常有用的方法。在 2 級 DOM 中,該方法已經被轉移到了 Document 接口,它現在由 HTMLDocument 繼承而不是由它定義了。