JavaScript Window - 瀏覽器對(duì)象模型
瀏覽器對(duì)象模型 (BOM) 使 JavaScript 有能力與瀏覽器"對(duì)話"。
瀏覽器對(duì)象模型 (BOM):
瀏覽器對(duì)象模型(Browser Object Model (BOM))尚無(wú)正式標(biāo)準(zhǔn)。
由于現(xiàn)代瀏覽器已經(jīng)(幾乎)實(shí)現(xiàn)了 JavaScript 交互性方面的相同方法和屬性,因此常被認(rèn)為是 BOM 的方法和屬性。
Window 對(duì)象:
所有瀏覽器都支持 window 對(duì)象。它表示瀏覽器窗口。
http://www.iis7.com/a/lm/gjcpmcx/
所有 JavaScript 全局對(duì)象、函數(shù)以及變量均自動(dòng)成為 window 對(duì)象的成員。
全局變量是 window 對(duì)象的屬性。
全局函數(shù)是 window 對(duì)象的方法。
甚至 HTML DOM 的 document 也是 window 對(duì)象的屬性之一。
語(yǔ)法:window.document.getElementById("header") == document.getElementById("header")
Window 尺寸:
有三種方法能夠確定瀏覽器窗口的尺寸。
對(duì)于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:
window.innerHeight - 瀏覽器窗口的內(nèi)部高度(包括滾動(dòng)條)。
window.innerWidth - 瀏覽器窗口的內(nèi)部寬度(包括滾動(dòng)條)。
對(duì)于 Internet Explorer 8、7、6、5:
document.documentElement.clientHeight
document.documentElement.clientWidth
或者
document.body.clientHeight
document.body.clientWidth
以下例子顯示瀏覽器窗口的高度和寬度:(不包括工具欄/滾動(dòng)條)
<p id="demo"></p>
<script>
var w=window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
var h=window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;
x=document.getElementById("demo");
x.innerHTML="瀏覽器window寬度: " + w + ", 高度: " + h + "。"
</script>
創(chuàng)新互聯(lián)建站是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,專業(yè)領(lǐng)域包括成都網(wǎng)站制作、做網(wǎng)站、電商網(wǎng)站制作開發(fā)、小程序開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
其他 Window 方法:
window.open(),打開新窗口。
window.close(),關(guān)閉當(dāng)前窗口。
window.moveTo(),移動(dòng)當(dāng)前窗口。
window.resizeTo(),調(diào)整當(dāng)前窗口的尺寸。
:
JavaScript Window Screen(屏幕)
window.screen 對(duì)象包含有關(guān)用戶屏幕的信息。
window.screen對(duì)象在編寫時(shí)可以不使用 window 這個(gè)前綴,一些屬性:
screen.availWidth,可用的屏幕寬度。
screen.availHeight,可用的屏幕高度。
Window Screen 可用寬度:
screen.availWidth 屬性返回訪問(wèn)者屏幕的寬度,以像素計(jì),減去界面特性,比如窗口任務(wù)欄。
Window Screen 可用高度:
screen.availHeight 屬性返回訪問(wèn)者屏幕的高度,以像素計(jì),減去界面特性,比如窗口任務(wù)欄。
(screen.width + "" + screen.height),總寬度/高度。
(screen.availWidth + "" + screen.availHeight),可用寬度/高度。
screen.colorDepth,色彩深度。
screen.pixelDepth,色彩分辨率。
:
JavaScript Window Location(地址URL)
window.location 對(duì)象用于獲得當(dāng)前頁(yè)面的地址 (URL),并把瀏覽器重定向到新的頁(yè)面。
Window Location(地址URL):
window.location 對(duì)象在編寫時(shí)可不使用 window 這個(gè)前綴。 一些例子:
location.hostname,返回 web 主機(jī)的域名。
location.pathname,返回當(dāng)前頁(yè)面的路徑和文件名。
location.port 返回,web 主機(jī)的端口 (80 或 443)。
location.protocol,返回所使用的 web 協(xié)議(http:// 或 https://)。
location.href,屬性返回當(dāng)前頁(yè)面的 URL。
Window Location Pathname(路徑名):
location.pathname,屬性返回 URL 的路徑名。
Window Location Assign(加載):
location.assign(),方法加載新的文檔。
:
JavaScript Window History(歷史)
window.history 對(duì)象包含瀏覽器的歷史。
window.history對(duì)象在編寫時(shí)可不使用 window 這個(gè)前綴。
為了保護(hù)用戶隱私,對(duì) JavaScript 訪問(wèn)該對(duì)象的方法做出了限制。
history.back(),與在瀏覽器點(diǎn)擊 "后退" 按鈕相同。
history.forward(),與在瀏覽器中點(diǎn)擊 "向前" 按鈕相同。
(歷史回溯)history.back() 方法加載歷史列表中的前一個(gè) URL,這與在瀏覽器中點(diǎn)擊后退按鈕是相同的。
(歷史前進(jìn))history forward() 方法加載歷史列表中的下一個(gè) URL,這與在瀏覽器中點(diǎn)擊前進(jìn)按鈕是相同的。
:
JavaScript Window Navigator(導(dǎo)航)
window.navigator 對(duì)象包含有關(guān)訪問(wèn)者瀏覽器的信息。
window.navigator 對(duì)象在編寫時(shí)可不使用 window 這個(gè)前綴。
navigator.appCodeName,瀏覽器代號(hào)。
navigator.appName,瀏覽器名稱。
navigator.appVersion,瀏覽器版本。
navigator.cookieEnabled,啟用Cookies(信息記錄程序)。
navigator.platform,硬件平臺(tái)。
navigator.userAgent,用戶代理。
navigator.systemLanguage, 用戶代理語(yǔ)言。
注意:來(lái)自 navigator 對(duì)象的信息具有誤導(dǎo)性,不應(yīng)該被用于檢測(cè)瀏覽器版本,這是因?yàn)椋?br/>navigator 數(shù)據(jù)可被瀏覽器使用者更改,一些瀏覽器對(duì)測(cè)試站點(diǎn)會(huì)識(shí)別錯(cuò)誤,瀏覽器無(wú)法報(bào)告晚于瀏覽器發(fā)布的新操作系統(tǒng)。
瀏覽器檢測(cè):
由于 navigator 可誤導(dǎo)瀏覽器檢測(cè),使用對(duì)象檢測(cè)可用來(lái)嗅探不同的瀏覽器。
由于不同的瀏覽器支持不同的對(duì)象,您可以使用對(duì)象來(lái)檢測(cè)瀏覽器。例如,由于只有 Opera 支持屬性 "window.opera",您可以據(jù)此識(shí)別出 Opera。
:
JavaScript 彈窗
可以在 JavaScript 中創(chuàng)建三種消息框:"警告框"、"確認(rèn)框"、"提示框"。
警告框:警告框經(jīng)常用于確保用戶可以得到某些信息,當(dāng)警告框出現(xiàn)后,用戶需要點(diǎn)擊確定按鈕才能繼續(xù)進(jìn)行操作。
語(yǔ)法:window.alert("sometext"),window.alert() 方法可以不帶上window對(duì)象,直接使用alert()方法。
確認(rèn)框:確認(rèn)框通常用于驗(yàn)證是否接受用戶操作。
當(dāng)確認(rèn)卡彈出時(shí),用戶可以點(diǎn)擊 "確認(rèn)" 或者 "取消" 來(lái)確定用戶操作。
當(dāng)你點(diǎn)擊 "確認(rèn)", 確認(rèn)框返回 true, 點(diǎn)擊 "取消", 確認(rèn)框返回 false。
語(yǔ)法:window.confirm("sometext"),window.confirm() 方法可以不帶上window對(duì)象,直接使用confirm()方法。
提示框:提示框經(jīng)常用于提示用戶在進(jìn)入頁(yè)面前輸入某個(gè)值。
當(dāng)提示框出現(xiàn)后,用戶需要輸入某個(gè)值,然后點(diǎn)擊確認(rèn)或取消按鈕才能繼續(xù)操縱。
如果用戶點(diǎn)擊確認(rèn),那么返回值為輸入的值。如果用戶點(diǎn)擊取消,那么返回值為 null。
語(yǔ)法:window.prompt("sometext","defaultvalue(內(nèi)定值)"),window.prompt() 方法可以不帶上window對(duì)象,直接使用prompt()方法。
換行:彈窗使用 反斜杠 + "n"(\n) 來(lái)設(shè)置換行。
:
JavaScript 計(jì)時(shí)事件
JavaScript 一個(gè)設(shè)定的時(shí)間間隔之后來(lái)執(zhí)行代碼,我們稱之為 "計(jì)時(shí)事件"。
JavaScript 計(jì)時(shí)事件:
通過(guò)使用 JavaScript,我們有能力做到在一個(gè)設(shè)定的時(shí)間間隔之后來(lái)執(zhí)行代碼,而不是在函數(shù)被調(diào)用后立即執(zhí)行。我們稱之為計(jì)時(shí)事件。
在 JavaScritp 中使用計(jì)時(shí)事件是很容易的,兩個(gè)關(guān)鍵方法是:
setInterval(),間隔指定的毫秒數(shù)不停地執(zhí)行指定的代碼,間隔毫秒一直循環(huán)下去。
setTimeout(),在指定的毫秒數(shù)后執(zhí)行指定代碼。
注意: setInterval() 和 setTimeout() 是 HTML DOM Window對(duì)象的兩個(gè)方法。
setInterval()方法
語(yǔ)法:window.setInterval("javascript function",(毫秒)milliseconds);
window.setInterval() 方法可以不使用window前綴,直接使用函數(shù)setInterval()。setInterval() 第一個(gè)參數(shù)是函數(shù)(function),第二個(gè)參數(shù)間隔的毫秒數(shù)。
clearInterval() 方法用于停止 setInterval() 方法執(zhí)行的函數(shù)代碼。
語(yǔ)法:window.clearInterval(intervalVariable)。
window.clearInterval() 方法可以不使用window前綴,直接使用函數(shù)clearInterval()。
要使用 clearInterval("你要停止的東西") 方法, 在創(chuàng)建計(jì)時(shí)方法時(shí)你必須使用全局變量。
setTimeout() 方法
語(yǔ)法:myVar= window.setTimeout("javascript function", (毫秒)milliseconds);
setTimeout() 方法會(huì)返回某個(gè)值。
setTimeout() 的第一個(gè)參數(shù)是含有 JavaScript 語(yǔ)句的字符串。這個(gè)語(yǔ)句可能諸如 "alert('5 seconds!')",或者對(duì)函數(shù)的調(diào)用,諸如 alertMsg。
第二個(gè)參數(shù)指示從當(dāng)前起多少毫秒后執(zhí)行第一個(gè)參數(shù)。
clearTimeout() 方法用于停止執(zhí)行setTimeout()方法的函數(shù)代碼。
語(yǔ)法:window.clearTimeout(timeoutVariable)。
window.clearTimeout() 方法可以不使用window 前綴。
要使用clearTimeout() 方法, 你必須在創(chuàng)建超時(shí)方法中(setTimeout)使用全局變量。
如果函數(shù)還未被執(zhí)行,你可以使用 clearTimeout() 方法來(lái)停止執(zhí)行函數(shù)代碼。
注意: 1000 毫秒是一秒。
下列例子是在頁(yè)面上顯示一個(gè)時(shí)鐘:
<p id="demo"></p>
<script>
var myVar=setInterval(function(){myTimer()},1000);
function myTimer(){
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=t;
}
</script>
:
JavaScript Cookie(信息記錄程序)
Cookie 用于存儲(chǔ) web 頁(yè)面的用戶信息。
Cookie 是一些數(shù)據(jù), 存儲(chǔ)于你電腦上的文本文件中。
當(dāng) web 服務(wù)器向?yàn)g覽器發(fā)送 web 頁(yè)面時(shí),在連接關(guān)閉后,服務(wù)端不會(huì)記錄用戶的信息。
Cookie 的作用就是用于解決 "如何記錄客戶端的用戶信息":
當(dāng)用戶訪問(wèn) web 頁(yè)面時(shí),他的名字可以記錄在 cookie 中。
在用戶下一次訪問(wèn)該頁(yè)面時(shí),可以在 cookie 中讀取用戶訪問(wèn)記錄。
Cookie 以名/值對(duì)形式存儲(chǔ),如右所示:username=John Doe
當(dāng)瀏覽器從服務(wù)器上請(qǐng)求 web 頁(yè)面時(shí), 屬于該頁(yè)面的 cookie 會(huì)被添加到該請(qǐng)求中。服務(wù)端通過(guò)這種方式來(lái)獲取用戶的信息。
使用 JavaScript 創(chuàng)建Cookie,JavaScript 可以使用 document.cookie 屬性來(lái)創(chuàng)建 、讀取、及刪除 cookie。
JavaScript 中,創(chuàng)建 cookie 如右所示:document.cookie="username=John Doe";
您還可以為 cookie 添加一個(gè)過(guò)期時(shí)間(以 UTC 或 GMT 時(shí)間)。默認(rèn)情況下,cookie 在瀏覽器關(guān)閉時(shí)刪除。
document.cookie="username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT";
您可以使用 path 參數(shù)告訴瀏覽器 cookie 的路徑。默認(rèn)情況下,cookie 屬于當(dāng)前頁(yè)面。
document.cookie="username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";
使用 JavaScript 讀取 Cookie:
在 JavaScript 中, 可以使用如右所示代碼來(lái)讀取 cookie:var x = document.cookie;
document.cookie 將以字符串的方式返回所有的 cookie,類型格式: cookie1=value; cookie2=value; cookie3=value;
使用 JavaScript 修改 Cookie:
在 JavaScript 中,修改 cookie 類似于創(chuàng)建 cookie,如下所示:
document.cookie="username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/",舊的 cookie 將被覆蓋。
使用 JavaScript 刪除 Cookie:
刪除 cookie 非常簡(jiǎn)單。您只需要設(shè)置 expires 參數(shù)為以前的時(shí)間即可,如下所示,設(shè)置為 Thu, 01 Jan 1970 00:00:00 GMT:
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";
注意,當(dāng)您刪除時(shí)不必指定 cookie 的值。
Cookie 字符串:
document.cookie 屬性看起來(lái)像一個(gè)普通的文本字符串,其實(shí)它不是。
即使您在 document.cookie 中寫入一個(gè)完整的 cookie 字符串, 當(dāng)您重新讀取該 cookie 信息時(shí),cookie 信息是以名/值對(duì)的形式展示的。
如果您設(shè)置了新的 cookie,舊的 cookie 不會(huì)被覆蓋。 新 cookie 將添加到 document.cookie 中,所以如果您重新讀取document.cookie。
如果您需要查找一個(gè)指定 cookie 值,您必須創(chuàng)建一個(gè)JavaScript 函數(shù)在 cookie 字符串中查找 cookie 值。
網(wǎng)頁(yè)標(biāo)題:javascript-瀏覽器對(duì)象
文章分享:http://m.newbst.com/article24/jheice.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、App開發(fā)、網(wǎng)站改版、ChatGPT、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)