瀏覽器對(duì)象模型


本節(jié)重點(diǎn)

  • BOM 模型的主要應(yīng)用 windows對(duì)象模型 + location對(duì)象 + history對(duì)象

1. windows對(duì)象模型

每個(gè)新打開(kāi)的窗口都有自己的window對(duì)象

windows對(duì)象模型

window 對(duì)象下的六大屬性也都是對(duì)象

  1. window的主要屬性

    window的主要屬性
  2. window的主要方法

    window的主要方法
  3. 系統(tǒng)對(duì)話框 alert() / confirm() / prompt()

    • alert() 彈出警告對(duì)話框

    • confirm() 可以點(diǎn)擊確定或者取消(得到相應(yīng)的 ture 或 false)

    • prompt() 提示框,可以得到返回值

        var num = prompt('請(qǐng)輸入一個(gè)數(shù)字', 0); 
        alert(num);
      
    • print(); 得到打印對(duì)話框

    • find(); 得到查找對(duì)話框

    • 瀏覽器的底部狀態(tài)值(系統(tǒng)屬性)

        defaultStatus = '狀態(tài)欄默認(rèn)文本';  //瀏覽器底部狀態(tài)欄初始默認(rèn)值
      
        status = '狀態(tài)欄文本 ';           //瀏覽器底部狀態(tài)欄設(shè)置值
      
  4. window.open() 新建瀏覽器窗口

    • window.open() 接收四個(gè)參數(shù)

        第一個(gè): 需要加載的 URL 地址
      
        第二個(gè): 窗口的名稱/窗口的目標(biāo)
      
        第三個(gè): 表示瀏覽器特性的字符串
      
        第四個(gè): boolean 值 (表示取代當(dāng)前正在進(jìn)行的頁(yè)面)
      
    • 第三個(gè)字符串參數(shù)的傳值

設(shè)置 說(shuō)明
width 數(shù)值 新窗口的寬度 ,不能小于100
height 數(shù)值 新窗口的高度, 不能小于100
top 數(shù)值 新窗口的坐標(biāo), 不能為負(fù)值
left 數(shù)值 新窗口的坐標(biāo), 不能為負(fù)值
location yes/no 在瀏覽器中是否顯示地址欄
menubar yes/no 在瀏覽器中是否顯示菜單欄
resizable yes/no 是否可以拖動(dòng)改變?yōu)g覽器的大小
scrollbars yes/no 是否為溢出的內(nèi)容顯示瀏覽器的滾動(dòng)條
status yes/no 是否顯示瀏覽器下面的狀態(tài)欄
toolbar yes/no 是否顯示瀏覽器的工具欄
- 第三個(gè)參數(shù)的設(shè)置:

        open('http://www.baidu.com','baidu','width=400,height=400,top=200,left=200,toolbar=yes');
  1. 窗口的位置和大小

    • 窗口的位置信息

        screenLeft 和 screenTop   //IE 支持屬性
        
        screenX 和 screenY       //firefox 支持屬性
      
    • 窗口的 大小 信息

        innerWidth 和 innerHeight    //返回瀏覽器窗口的尺寸
        
        outerWidth 和 outerHeight  //瀏覽器窗口 + 邊框的尺寸
      

      IE中的尺寸獲取

        document.documentElement.clientWidth
        
        document.documentElement.clientHeight 
      
  2. 間歇調(diào)用和超時(shí)調(diào)用

    • 超時(shí)調(diào)用

        var timeOut = setTimeout(function(){},time); 
      

      說(shuō)明:超時(shí)調(diào)用返回一個(gè)數(shù)值信息 timeOut,表示該超時(shí)調(diào)用的 ID

        clearTimeout(timeOut);   //可以通過(guò)該 ID 信息清除超時(shí)調(diào)用
      
    • 間歇調(diào)用

         var interval = setInterval(function(){},time);
      

      間歇調(diào)用表示每隔 time 時(shí)長(zhǎng)的時(shí)間調(diào)用一次,反復(fù)執(zhí)行

      因?yàn)殚g歇調(diào)用是反復(fù)執(zhí)行的 所以在必要的時(shí)候清除間歇調(diào)用是非常必要的

        說(shuō)明:間歇調(diào)用返回?cái)?shù)值信息interval,表示間歇調(diào)用的 ID
        
        clearTimeout(interval);     //清除間歇調(diào)用
      
    • 使用超時(shí)調(diào)用模擬間歇調(diào)用

      一般認(rèn)為,使用超時(shí)調(diào)用來(lái)模擬間歇調(diào)用是一種最佳模式 。在開(kāi)發(fā)環(huán)境下,很少使用真 正的間歇調(diào)用,因?yàn)樾枰鶕?jù)情況來(lái)取消 ID,并且可能造成同步的一些問(wèn)題,我們建議不使用間歇調(diào)用,而去使用超時(shí)調(diào)用。

        var num = 0; 
        var max = 5;
        function timeOut() {
            num++;
            if (num == max) {
                alert('5 秒后結(jié)束!'); 
            } else {
                setTimeout(box, 1000);
            }
        }
        
        setTimeout(timeOut,1000);
      
2. Location 對(duì)象

window.location 和 document.location 等效。大家想想為什么呢??
  1. location對(duì)象的屬性 (獲取當(dāng)前瀏覽器的URL)
屬性 描述的URL的內(nèi)容
hash 若存在,表示錨點(diǎn)部分
host 主機(jī)名 : 端口號(hào)
hostname 主機(jī)名
href 整個(gè)URL
pathname 路徑名
port 端口號(hào)
search 查詢字符串(包括傳遞的參數(shù)等等)
  1. Location對(duì)象的方法
方法 功能
assign("url") 跳轉(zhuǎn)到指定的 URL,與 href 等效
reload() 重載當(dāng)前的url , 無(wú)參數(shù)
replace("url") 用新的 URL 替換當(dāng)前的 URL.
3. history 對(duì)象

保存著用戶上網(wǎng)的記錄,從窗口被打開(kāi)的那一刻算起。
  1. history 對(duì)象的屬性
屬性 描述 URL 中的部分
length 描述當(dāng)前的歷史記錄中的個(gè)數(shù)
  1. history 對(duì)象的方法
屬性 實(shí)現(xiàn)的功能
back() 向前一個(gè)歷史記錄,類似后退
forword() 向后一個(gè)歷史記錄 , 類似前進(jìn)
go(num) 根據(jù)參數(shù)設(shè)置向前或者向后
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容