JavaScript高程學習筆記之BOM(8)


[TOC]javascript


1. window對象

1.1 全局做用域

全局變量與window屬性的區別:全局變量不可用delete操做符刪除,window屬性能夠 訪問未定義變量會拋出錯誤,查詢window對象能夠知道變量是否存在java

1.2 窗口關係及框架

每一個框架都擁有本身的window對象,而且保存在frames集合中,能夠經過數值索引來訪問數組

<frameset rows="160,*">
    <frame src="frame.htm" name="topFrame">
    <frameset cols="50%,50%">
        <frame src="anotherframe.htm" name="leftFrame">
        <frame src="yetanotherframe.htm" name="rightFrame">
    </frameset>
</frameset>

最好經過top.frames[0]來訪問相應的框架 parent對象:指向當前框架的直接上層框架 self對象:它始終指向window瀏覽器

1.3 窗口位置

screenLeft屬性和screenTop屬性,分別表示窗口相對於屏幕左邊和上邊的位置框架

1.4 窗口大小

innerWidth、innderHeight、outerWidth、outerHeight window.innerWidth、window.innerHeight resizeTo()和resizeBy()方法調整瀏覽器窗口大小函數

1.5 導航和打開窗口

window.open()方法,要加載的URL、窗口目標、一個特性字符串以及一個表示新頁面是否取代瀏覽器歷史記錄中當前加載頁面的布爾值 窗口屏蔽程序oop

var blocked = false;
        
        try {
            var wroxWin = window.open("http://www.wrox.com", "_blank");
            if (wroxWin == null){
                blocked = true;
            }
        } catch (ex){
            blocked = true;
        }
        
        if (blocked){
            alert("The popup was blocked!");
        }
1.6 間歇調用和超時調用

JavaScript容許設置超時值和間歇時間值來調度代碼在特定的時間執行 setTimeout()方法和clearTimeout()來超時調用和取消超時 setInterval()方法clearInterval()來間隔調用和取消間隔插件

1.7 系統對話框

aletr()、confirm()和prompt()調用系統對話框向用戶提供消息code

2. location()對象

提供了與當前窗口中加載的文檔有關信息,還提供一些導航功能htm

2.1 查詢字符串參數
function getQueryStringArgs(){
        
            //get query string without the initial ?
            var qs = (location.search.length > 0 ? location.search.substring(1) : ""),
            
                //object to hold data
                args = {},
            
                //get individual items
                items = qs.length ? qs.split("&") : [],
                item = null,
                name = null,
                value = null,
                
                //used in for loop
                i = 0,
                len = items.length;
            
            //assign each item onto the args object
            for (i=0; i < len; i++){
                item = items[i].split("=");
                name = decodeURIComponent(item[0]);
                value = decodeURIComponent(item[1]);
                
                if (name.length){
                    args[name] = value;
                }
            }
            
            return args;
        }

        //assume query string of ?q=javascript&num=10
        
        var args = getQueryStringArgs();
        
        alert(args["q"]);     //"javascript"
        alert(args["num"]);   //"10"
2.2 位置操做

assign()方法:改變瀏覽器位置 location.href屬性 replace()方法:禁止「後退」導航到前一個頁面 reload()方法:從新加載當前的頁面

3. navigator對象

識別客戶端瀏覽對象

3.1 檢測插件

plugins數組 name:插件的名字 description:插件的描述 filename:插件的文件名 length:插件所處理的MIME類型數量 編寫檢測插件函數程序

3.2 註冊處理程序

reisterContentHandler()和registerProtocolHandle()方法 讓一個站點指明它能夠處理特定的信息

4 screen對象

代表客戶端的能力,其中包括瀏覽器窗口外部的顯示信息,如像素寬度和高度等。

5. history對象

保存用戶上網的歷史記錄

相關文章
相關標籤/搜索