瀏覽器對象模型(BOM)使JavaScript有能力與瀏覽器"對話".
瀏覽器對象模型(Browser Object Model)尚無正式標準.
Window對象
所有瀏覽器都支持window對象,他表示瀏覽器窗口
全局變量是window對象的屬性
全局函數(shù)是window對象的方法
甚至HTML DOM的document也是window對象的屬性之一
window.document.getElementById("header");
window尺寸:
window.innerHeight-瀏覽器窗口的內(nèi)部高度 較新版本支持該方法
document.documentElement.clientHeight IE 8 7 6 5支持該屬性
或者document.body.clientHeight;
寬度同理...
一般兼容性寫法:(寬度同理)
var h = window.innerHeight||
document.documentElement.clientHeight||
document.body.clientHeight;
window其他方法:
打開新窗口:window.open();
關閉當前窗口:window.close();
移動當前窗口:window.moveTo();
調(diào)整當前窗口的尺寸:window.resizeTo();
window.screen對象
該對象包含有關用戶屏幕的信息
可用屏幕的高度:window.screen.availWidth;
可用屏幕的寬度:window.screen.availHeight;
注:返回訪問者屏幕的寬高都是以像素計,減去界面特性,比如窗口任務欄等
window.location對象
該對象用于獲得當前頁面的地址(URL),并把瀏覽器重定向到新的頁面
location.hostname 返回web主機的域名
location.pathname返回當前頁面的路徑和文件名
locaton.port返回web主機的端口(80or443)
location.protocl返回所使用的web協(xié)議(http://或https://)
location.href返回當前頁面的url
location.assign(url)方法加載新的文檔,類似與跳轉(zhuǎn)到新的頁面
window.History對象
history.back() 與在瀏覽器點擊后退按鈕相同
history.forward() 與在瀏覽器中點擊按鈕向前想聽
window.navigator
navigator.appCodeName
navigator.appName
navigator.appViersion
navigator.cookieEnabled
......
警告:來自navigator對象的信息具有誤導性,不應該被用于檢測瀏覽器版本,這是因為:
- navigator數(shù)據(jù)可被瀏覽器使用者更改
- 瀏覽器無法報告晚于瀏覽器發(fā)布的新操作系統(tǒng)
瀏覽器檢測:
由于navigator可誤導瀏覽器檢測,使用對象檢測可用來嗅探不同的瀏覽器
由于不同的瀏覽器支持不同的對象,您可以使用對象來檢測瀏覽器,例如,由于只有Opera支持屬性window.opera,您可以據(jù)此識別出Opera.
JavaScript消息框
警告框
警告框經(jīng)常用于確保用戶可以得到某些信息,當警告框出現(xiàn)后,用戶需要點擊確定按鈕才能繼續(xù)進行操作.
語法:alert();
確認框
確認框用于可以驗證或者接收某些信息.
當確認框出現(xiàn)后,用戶需要點擊確定或者取消按鈕才能繼續(xù)操作.如果用戶點擊確認,那么返回值為true,如果用戶點擊取消,那么返回值為false
confirm("文本");
提示框
提示框經(jīng)常用于提示用戶在進入頁面前輸入某個值.當提示框出現(xiàn)后,用戶需要輸入某個值,然后點擊確認或取消按鈕才能繼續(xù)操縱.如果用戶點擊確認,那么返回值為輸入的值,如果用戶點擊取消,那么返回值為null.
prompt("文本","默認值");
JavaScript計時
通過使用JavaScript,我們有能力做到在一個設定的時間間隔之后來執(zhí)行代碼.而不是在函數(shù)被調(diào)用后立即執(zhí)行
setTimeout() 未來的某時刻執(zhí)行代碼
clearTimeOut() 取消setTimeout()
示例:
var t = setTimeout("執(zhí)行的函數(shù)()",間隔時間);執(zhí)行計時函數(shù)
clearTimeout(t);執(zhí)行停止函數(shù)