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