JavaScript BOM概述(open/close/location/navigator/history/定時器)

BOM
brower objects model瀏覽器對象模型(BOM包含DOM)






1. alert/confirm/變量/函數
Window可以省略。全局變量和全局函數都是window下的屬性和方法。
- window對象是JavaScript中的頂級對象
- 所有定義在全局作用域中的變量、函數都會變成window對象的屬性和方法
- window對象下的屬性和方法調用的時候可以省略window



2. open方法
新窗口 =  window.open(url,target,param); //打開新頁面

//例:
window.open("01-window.html","_black","width=200,height=200,top=100");

URL:新窗口的URL地址 
name:新窗口的名稱,可以爲空 
featurse:屬性控制字符串,在此控制窗口的各種屬性,屬性之間逗號隔開。 
fullscreen= { yes/no/1/0 } 是否全屏,默認no 
channelmode= { yes/no/1/0 } 是否顯示頻道欄,默認no 
toolbar= { yes/no/1/0 } 是否顯示工具條,默認no 
location= { yes/no/1/0 } 是否顯示地址欄,默認no 
directories = { yes/no/1/0 } 是否顯示轉向按鈕,默認no 
status= { yes/no/1/0 } 是否顯示窗口狀態條,默認no 
menubar= { yes/no/1/0 } 是否顯示菜單,默認no 
scrollbars= { yes/no/1/0 } 是否顯示滾動條,默認yes 
resizable= { yes/no/1/0 } 是否窗口可調整大小,默認no 
width=number 窗口寬度(像素單位) 
height=number 窗口高度(像素單位) 
top=number 窗口離屏幕頂部距離(像素單位) 
left=number 窗口離屏幕左邊距離(像素單位) 



3. Close();
window.close();  //關閉窗口
//移動窗口:
新窗口.moveTo(5,5); //新窗口移動到距離屏幕距離...
新窗口.moveBy(); //在原有基礎上添加還是減少多少 
新窗口.resizeTo(); //新窗口大小改變爲....
window.resizeBy(); //在原有基礎上添加還是減少多少



4. Location
href         地址,頁面。
hash        返回url中#後面的內容,包含#
host        主機名,包括端口
hostname     主機名
pathname     url中的路徑部分
protocol      協議 一般是http、https
search      查詢字符串
//頁面跳轉
location.assign(); //改變瀏覽器地址欄的地址,並記錄到歷史中
//設置location.href  就會調用assign()。一般使用location.href 進行頁面之間的跳轉
location.replace(); //替換瀏覽器地址欄的地址,不會記錄到歷史中
location.reload(); //重新加載(刷新);



5. Navigator
包含瀏覽器相關信息
userAgent      (系統,瀏覽器)
platform       (瀏覽器支持的系統,win/mac/linux)



6. History
//後退:
history.back();
history.go(-1); //0是刷新
//前進:
history.forward();
history.go(1);



7. 定時器
setInterval:設置間歇(循環)定時器      
clearInterval:清除間歇(循環)定時器

setTimeout:設置炸彈定時器      
clearTimeout:清除炸彈定時器

定時器返回值是Number類型,但是也可以當做對象看待

定時器是多線程的。
return只能結束函數,想要停止定時器必須用clearInterval();
不能多個定時器沒有名字操作同一個元素(定時器一旦名字被覆蓋,就沒有辦法停止了)

使用方法:
//方法1:
setInterval(function () {
    console.log(1);
},1000);

//方法2:
setInterval(fn1,1000);

function fn1(){
    console.log(2);
}

//方法3:極少用
setInterval("fn2(3)",1000);

function fn2(n){
    console.log(n);
}





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章