在 MSHTML DOM 模型中,window 對象下掛載著四個核心子對象:location(URL 定位)、history(歷史記錄)、screen(螢幕資訊)、navigator(瀏覽器環境)。掌握它們的屬性與方法,能實現頁面導航、歷史控制、環境檢測等關鍵功能。
location 對象提供完整的 URL 讀寫與拆解能力,是頁面跳轉與參數傳遞的基礎。
| 屬性 | 說明 | 範例 |
|---|---|---|
| href | 完整 URL | https://example.com/path?query=1#hash |
| protocol | 協議(含冒號) | https: |
| host | 主機名 + 端口 | example.com:8080 |
| hostname | 主機名 | example.com |
| port | 端口號 | 8080 |
| pathname | 路徑部分 | /path/page.html |
| search | 查詢字串(含 ?) | ?query=1&name=test |
| hash | 錨點(含 #) | #section1 |
注意:原文中 host 描述有誤,實際 host 為「主機名:端口」,錨點屬於 hash。
受同源策略限制,僅能操作當前標籤頁的會話歷史,無法讀取具體 URL。
back():後退一頁forward():前進一頁go(delta):相對跳轉,如 go(-2) 後退兩頁,go(1) 等同 forward()length:歷史列表條目總數(含當前頁)提供用戶螢幕硬體特性,常用於響應式佈局或圖表自適應。
width / height:螢幕解析度寬高(像素)availWidth / availHeight:可用工作區尺寸(扣除任務列)colorDepth / bufferDepth:色彩位深updateInterval:刷新率(較少用)fontSmoothingEnabled:字體平滑是否啟用核心屬性用於特性檢測、UA 解析、平台判斷:
| 屬性 | 用途 |
|---|---|
| userAgent | 完整 UA 字串,含瀏覽器、引擎、OS 資訊 |
| appName / appCodeName / appVersion | 瀏覽器名稱、代碼名、版本 |
| platform | 作業系統平台(如 Win32、MacIntel) |
| cookieEnabled | Cookie 是否啟用 |
| javaEnabled() | Java Applet 支援(已棄用) |
| onLine | 是否聯網(HTML5 標準) |
| language / userLanguage / systemLanguage / browserLanguage | 多維語言設置 |
| cpuClass | CPU 等級(如 x86) |
| plugins / mimeTypes | 已安裝外掛與 MIME 類型陣列 |