第八章 BOMweb
1.window對象數組
全局做用域:全部在全局做用域中聲明的變量、函數都會變成Window對象的屬性和方法瀏覽器
全局變量不能經過delete操做符刪除,直接在window對象上定義的屬性能夠框架
嘗試訪問未聲明的變量會拋出錯誤,但經過查詢window對象可知道未聲明的對象是否存在異步
var a=window.b; //b未聲明,不會發生錯誤,屬於一次性查詢函數
窗口關係和框架:三個對象搜索引擎
top——始終指向最高層的框架,也就是瀏覽器窗口url
parent——始終指向當前框架的直接上層框架,沒有框架的狀況下等於top操作系統
self——始終指向window,目的:與top和parent對應起來插件
注:全部這些對象都是window對象的屬性
窗口位置:
肯定和修改window對象位置屬性——screenLeft 、screenTop/screenX、screenY
eg:var leftPos =(typeof window.screenLeft == "number")window.screenLeft:window.screenX;
將窗口移動到一個新位置方法——moveTo(新位置的x,y座標值),moveBy(水平和垂直方向移動的像素數)
只能對最外層的window對象使用
窗口大小: outerWidth,outerHeight——返回瀏覽器窗口自己的尺寸
innerWidth,innerHeight—— 返回頁面視圖區的大小(去掉邊框)
document.documentElement.clientWidth——保存頁面窗口的信息,標準模式下有效
resizeTo(接受新的寬度和高度)resizeBy(接受高度,寬度之差)——調整瀏覽器窗口的大小
導航和打開窗口:window.open(url網址,窗口目標名稱,特性字符串,布爾值),返回一個指向新窗口的引用
調用close()方法能夠關閉新打開的窗口
新建立的window對象有一個opener屬性,保存着打開它的原始窗口對象,operner屬性值設置爲null就是告訴瀏覽器新建立的標籤頁不須要與打開它的標籤頁通訊,能夠在獨立的進程中運行
間歇調用和超時調用:setTimeout(要執行的代碼,時間),返回一個數值ID,取消還沒有執行的超時調用計劃,經過clearTimeout()並傳入相應的調用ID
setInterval()——間歇調用,取消clearInterval()
系統對話框(同步和模態):alert()——顯示一個系統對話框,包含指定文本和一個"OK"按鈕
confirm()——和alert()的區別,還會顯示一個cancel按鈕
prompt()——用於提示用戶輸入一些文本,接受兩個參數:顯示給用戶的文本和文本輸入域的默認值,有ok和cancel兩個按鈕
print()和find()——異步顯示
2.location對象——提供了與當前窗口中加載的文檔有關的信息和一些導航的功能
window.location= =document.location
查詢字符串參數——location.search,返回從問好到末尾的全部內容
改變瀏覽器的位置 —— location.assign(url),當即打開新的url並生成一條歷史記錄
location.href屬性
location.replace(url)——僅用後退,改變瀏覽器位置,但不會生成新紀錄
reload()——重載當前顯示的頁面
3.navigator對象——屬性一般用於檢查顯示網頁的瀏覽器類型
檢測插件——plugins數組,每一項都有name,description,fiename,length
註冊處理程序,可讓一個站點致命它能夠處理特定類型的信息——
registerContentHandle(要處理的MIME類型,能夠處理該MIME類型的頁面的url,應用程序的名稱)
MIME 是描述消息內容類型的因特網標準。
registerProtocolHandle(要處理的協議,處理該協議的url,應用程序的名稱)
4.screen對象——基本只用來代表客戶端的能力
5.history對象——保存着用戶上網的歷史記錄
history.go(number)——任意向前/後跳轉
history.go(string)——跳轉到包含字符串最近的頁面
history.back()//後退 history.forward()//前進
history.length; //保存歷史記錄的數量
第九章 客戶端檢測
1.能力檢測(特性檢測)
目標:識別瀏覽器的能力
概念:1.先檢測達成目的最經常使用的特性
2.必須檢測實際要用到的特性
3.儘可能使用typeof進行能力檢測
4.能力檢測不是瀏覽器檢測,根據瀏覽器不一樣將能力組合起來是更可取的方式
2.怪癖檢測:識別瀏覽器的特殊行爲
3.用戶代理檢測
經過檢測用戶代理字符串來肯定實際使用的瀏覽器,經過navigator.userAgent屬性來訪問用戶代理字符串
電子欺騙——經過在本身的用戶代理字符串中加入一些錯誤或誤導性新來來達到欺騙瀏覽器的目的
用戶代理字符串檢測技術:
a.識別搜索引擎
五大呈現引擎:IE,Gecko,Webkit,KHTML,Opera
檢測順序:opera,webkit,KHTML,Gecko,IE
b.識別瀏覽器
c.識別平臺
d.識別操做系統
e.識別移動設備