JavaScript系列四:瀏覽器對象,javascript系列
1、window對象
Window對象是BOM的核心,window對象指當前瀏覽器視窗。
alert()顯示帶有一段訊息和一個確認按鈕的警告框
prompt()顯示可提示使用者輸入的對話方塊
confirm()顯示帶有一段訊息以及確認按鈕和取消按鈕的對話方塊
open()開啟一個新的瀏覽器視窗或尋找一個已命名的視窗
close()關閉瀏覽器視窗
print()列印當前視窗的內容
focus()把鍵盤焦點給予一個視窗
blur()把鍵盤視窗從頂層視窗移開
moveBy()可相對視窗的當前座標把它移動指定像素
moveTo()可相對視窗的左上方移動到一個指定的座標
resizeBy()按照指定的像素調整視窗的大小
resizeTo()把視窗的大小調整到指定的寬度和高度
scrollBy()按照指定的像素值來滾動內容
scrollTo()把內容滾動到指定的座標
setInterval()每個指定的時間執行代碼
setTimeout()在制定的延遲時間之後來執行代碼
clearInterval()取消setInterval()的設定
clearTimeout()取消setTimeout()的設定
2、JavaScript計時器
在JavaScript中,我們可以在設定的時間間隔之後來執行代碼,而不是在函數被調用後立即執行
計時器類型:
一次性計時器:僅在指定的延遲時間之後觸發一次
間隔性觸發計時器:每個一定的時間間隔就觸發一次。
計時器方法:
setTimeout() 指定延遲時間之後來執行代碼
clearTimeout() 取消setTimeout()設定
setInterval() 每個指定的時間執行代碼
clearInterval()取消setInterval()設定
3、計時器setInterval()
在執行時,從載入頁面後每隔指定的時間執行代碼。
文法:
setInterval(代碼,互動時間);
參數說明:
1. 代碼:要調用的函數或要執行的代碼串。
2. 互動時間:周期性執行或調用運算式之間的時間間隔,以毫秒計(1s=1000ms)。
返回值:
一個可以傳遞給 clearInterval() 從而取消對"代碼"的周期性執行的值。
4、取消計時器clearInterval()
clearInterval()方法可取消由setInterval()設定的互動時間
文法:
clearInterval(id_of_setInterval)
參數說明:
id_of_setInterval: 由setInterval()返回ID值
5、計時器setTimeout()
setTimeout()計時器,再載入後延遲指定時間後,去執行一次運算式,僅執行一次
文法:
setTimeout(代碼,延遲時間);
參數說明:
1、要調用的函數或要執行的代碼串
2、延遲時間:執行代碼前需等待的時間,以毫秒為單位
6、取消計時器clearTimeout()
setTimeout()和clearTimeout()一起使用,停止計時器。
文法:
clearTimeout(id_of_setTimeout)
參數說明:
id_of_setTimeout:由setTimeout()返回的ID值,該值表示要取消的順延強制代碼塊。
7、History對象
history對象記錄了使用者曾經瀏覽過的頁面(URL),並可以實現瀏覽器前進與後退相似導航的功能。
注意:
從視窗被開啟的那一刻開始記錄,每個瀏覽器視窗、每個標籤頁乃至每個架構,都有自己的history對象與特定的window對象關聯。
文法:
window.history.[屬性|方法]
注意:
window可以省略
History對象屬性
length 返回瀏覽器曆史列表中的URL數量
History對象方法
back()載入history列表中的前一個URL
forward()載入history列表中的下一個URL
go()載入history列表中的某個具體的頁面
8、返回前一個瀏覽的頁面
back()方法,載入history列表中的前一個URL
文法:
windows.history.back()
注意:
等同於點擊瀏覽器的倒退按鈕
back()相當於go(-1)
9、返回下一個瀏覽的頁面
forward()方法,載入 history 列表中的下一個 URL。
如果倒退之後,再想回到倒退之前瀏覽的頁面,則可以使用forward()方法,代碼如下:
window.history.forward();
注意:等價點擊前進按鈕。
forward()相當於go(1)
10、返回瀏覽曆史中的其他頁面
go()方法,根據當前所處的頁面,載入 history 列表中的某個具體的頁面。
文法:
window.history.go(number);
參數:
1 前一個,go(1)等價forward()
0 當前頁面
-1 後一個,go(-1)等價back()
其他數值 要訪問的URL在History的URL列表中的相對位置
11、Location對象
location用於擷取或設定表單的URL,並且可以用於解析URL
文法:
location.[屬性][方法]
location對象屬性
href:http://www.imooc.com:8080/list.php?courseid=8&chapterid=86#mediaid118
設定或返回完整的URL
protocol:http
設定或返回當前的協議
host:www.imooc.com:8080
設定或返回主機名稱和當前URL的連接埠號碼
hostname:www.imooc.com
設定或返回當前URL的主機名稱
port:8080
設定或返回當前URL的連接埠號碼
pathname:list.php
設定或返回當前URL的路徑部分
search:courseid=8&chapterid=86
設定或返回從?開始的URL(查詢部分)
hash:mediaid118
設定或返回從#開始的URL(錨)
location對象方法:
assign()載入新的文檔
reload()重新載入當前的文檔
replace()用新的文檔替換當前文檔
12、Navigator對象
Navigator對象包含瀏覽器的資訊,通常用於監測瀏覽器與作業系統的版本
對象屬性:
appCodeName 瀏覽器代碼名的字串表示
appName 返回瀏覽器的名稱
appVersion 返回瀏覽器的平台和版本資訊
platform 返回運行瀏覽器的作業系統平台
userAgent 返回由客戶機發送伺服器的user-agent頭部的值
13、userAgent
返回使用者代理程式頭的字串表示(就是包括瀏覽器版本資訊等的字串)
文法:
navigator.userAgent
幾種瀏覽的user_agent.,像360的相容模式用的是IE、極速模式用的是chrom的核心。
chrome:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)chrome/34.0.1847.116 Safari/537.36
fireFox :Mozilla/5.0(WindowsNT6.1;WOW64;rv:24.0)Gecko/20100101 fireFox/24.0
IE8:Mozilla/4.0(compatible;MSIE 8.0;Windows NT 6.1;WOW64;Trident/4.0;SLCC2;NET CLR2.0.50727;NET CLR3.5.30729;.NET CLR3.0.30729;.NET4.0C)
if(u_agent.indexOf("Firefox")>-1){
B_name="Firefox"; }
indexOf() 方法可返回某個指定的字串值在字串中首次出現的位置,如果找不到這個字串會返回-1,找到的話返回字串所在的位置
14、screen對象
screen對象用於擷取使用者的螢幕資訊。
文法:
windows.screen.屬性
availHeight 視窗可以使用的螢幕高度,單位px
availWidth 視窗可以使用的螢幕寬度,單位px
colorDepth 使用者瀏覽器表示的顏色位元,通常32位(每像素的位元)
pixelDepth: 使用者瀏覽器表示的顏色位元,通常32位(每像素的位元)IE不支援
height 螢幕的高度,單位px
width 螢幕的寬度,單位px
15、螢幕解析度的高和寬
window.screen 對象包含有關使用者螢幕的資訊。
1. screen.height 返回螢幕解析度的高
2. screen.width 返回螢幕解析度的寬
注意:
1.單位以像素計。
2. window.screen 對象在編寫時可以不使用 window 這個首碼。
16、螢幕可用高和寬度
1. screen.availWidth 屬性返回訪問者螢幕的寬度,以像素計,減去介面特性,比如工作列。
2. screen.availHeight 屬性返回訪問者螢幕的高度,以像素計,減去介面特性,比如工作列。
注意:
不同系統的工作列預設高度不一樣,及工作列的位置可在螢幕上下左右任何位置,所以有可能可用寬度和高度不一樣。
var num=document.getElementById("second").innerHTML;
//擷取顯示秒數的元素,通過定時器來更改秒數。
function count()
{
num--;
document.getElementById("second").innerHTML=num;
if(num==0)
{
location.assign("www.imooc.com");
}
}
setInterval("count()",1000);