JS Browser BOM 來之 3WSCHOOL
?-- (自定義學(xué)習(xí)版)
這里講解 JavaScript BOM 對象啊:
Window - 瀏覽器對象模型(窗口對象模型)
Window 對象
所有瀏覽器都支持?window?對象。它代表瀏覽器的窗口。
所有全局 JavaScript 對象,函數(shù)和變量自動成為 window 對象的成員。
全局變量是 window 對象的屬性。
全局函數(shù)是 window 對象的方法。
甚至(HTML DOM 的)document 對象也是 window 對象屬性:
蠻重要的啊? 所以啊 可以不用寫 直接用.
?
等同于:
?
?
?
窗口尺寸
兩個屬性可用用于確定瀏覽器窗口的尺寸。
這兩個屬性都以像素返回尺寸:
- window.innerHeight - 瀏覽器窗口的內(nèi)高度(以像素計)
- window.innerWidth - 瀏覽器窗口的內(nèi)寬度(以像素計)
但不包括工具欄和滾動條。
例:
- document.documentElement.clientHeight
- document.documentElement.clientWidth
或
- document.body.clientHeight
- document.body.clientWidth
例:(自己復(fù)制在script中試試!)
反正我覺得不多準(zhǔn)啊 自己去測試啊? 前端煩死了....搞這搞那的...
?
?
-------------------------------------------------------------------------------------------
其他窗口方法
一些其他方法:
- window.open() - 打開新窗口
- window.close() - 關(guān)閉當(dāng)前窗口
- window.moveTo() -移動當(dāng)前窗口
- window.resizeTo() -重新調(diào)整當(dāng)前窗口
?
接下來一一介紹:
?
- window.open()
定義和用法
?
open() 方法用于打開一個新的瀏覽器窗口或查找一個已命名的窗口。
?
語法
參數(shù) | 描述 |
URL | 一個可選的字符串,聲明了要在新窗口中顯示的文檔的 URL可選。如果沒有指定URL,打開一個新的空白窗口 |
name | 可選。指定target屬性或窗口的名稱。支持以下值:
|
features | 可選。一個逗號分隔的項目列表。支持以下值: |
replace ? | 一個可選的布爾值。規(guī)定了裝載到窗口的 URL 是在窗口的瀏覽歷史中創(chuàng)建一個新條目,還是替換瀏覽歷史中的當(dāng)前條目。支持下面的值:
|
channelmode=yes|no|1|0 | 是否要在影院模式顯示 window。默認(rèn)是沒有的。僅限IE瀏覽器 |
directories=yes|no|1|0 | 是否添加目錄按鈕。默認(rèn)是肯定的。僅限IE瀏覽器 |
fullscreen=yes|no|1|0 | 瀏覽器是否顯示全屏模式。默認(rèn)是沒有的。在全屏模式下的 window,還必須在影院模式。僅限IE瀏覽器 |
height=pixels | 窗口的高度。最小.值為100 |
left=pixels | 該窗口的左側(cè)位置 |
location=yes|no|1|0 | 是否顯示地址字段.默認(rèn)值是yes |
menubar=yes|no|1|0 | 是否顯示菜單欄.默認(rèn)值是yes |
resizable=yes|no|1|0 | 是否可調(diào)整窗口大小.默認(rèn)值是yes |
scrollbars=yes|no|1|0 | 是否顯示滾動條.默認(rèn)值是yes |
status=yes|no|1|0 | 是否要添加一個狀態(tài)欄.默認(rèn)值是yes |
titlebar=yes|no|1|0 | 是否顯示標(biāo)題欄.被忽略,除非調(diào)用HTML應(yīng)用程序或一個值得信賴的對話框.默認(rèn)值是yes |
toolbar=yes|no|1|0 | 是否顯示瀏覽器工具欄.默認(rèn)值是yes |
top=pixels | 窗口頂部的位置.僅限IE瀏覽器 |
width=pixels | 窗口的寬度.最小.值為100 |
提示和注釋
特別注意一下?name 這個參數(shù)啊 如果打開的窗口中存在這個name 那么就不會打開了啊? 即:不存在name的窗口我才新建一個窗口給你的啊.
還有就是?。喝绻麨g覽器阻止彈出窗口 那么會返回null啊? 因此可以將這個語句放入到try - cathch中?。??
重要事項:請不要混淆方法 Window.open() 與方法 Document.open(),這兩者的功能完全不同。為了使您的代碼清楚明白,請使用 Window.open(),而不要使用 open()。
犯法返回一個窗口對象 可以用此對象操作新建的窗口 例:
?
?
?
Window?close()?方法
定義和用法
close() 方法用于關(guān)閉瀏覽器窗口。
直接關(guān)閉 沒什么其他的..
?
?
- window.moveTo() -移動當(dāng)前窗口
定義和用法
moveTo() 方法可把窗口的左上角移動到一個指定的坐標(biāo)。
語法
- window.moveTo(x,y)
例: 將新窗口移動到x為0y為0 即:左上角~
?
?
?
?window.resizeTo() -重新調(diào)整當(dāng)前窗口
?
定義和用法
resizeTo() 方法用于把窗口大小調(diào)整為指定的寬度和高度。
語法
參數(shù) | 描述 |
width | 必需。想要調(diào)整到的窗口的寬度。以像素計。 |
height | 可選。想要調(diào)整到的窗口的高度。以像素計。 |
這個也沒什么好說 自己寫啊?
?
?
?以上幾個窗口的4個方法 主要還是先要獲取到window對象啊.
?
?
Window Screen? 窗口屏幕對象
?
window.screen?對象不帶 window 前綴也可以寫:
屬性:
- screen.width
- screen.height
- screen.availWidth
- screen.availHeight
- screen.colorDepth
- screen.pixelDepth
?
1.screen.width?屬性返回以像素計的訪問者屏幕寬度。
例:document.writeln(screen.width);
2.screen.height?屬性返回以像素計的訪問者屏幕的高度。
例:document.writeln(screen.height);
3.screen.availWidth?屬性返回訪問者屏幕的寬度,以像素計,減去諸如窗口工具條之類的界面特征。
例:document.writeln(screen.availWidth);
4.screen.availHeight?屬性返回訪問者屏幕的高度,以像素計,減去諸如窗口工具條之類的界面特征。
例:document.writeln(screen.availHeight);
5.screen.colorDepth?屬性返回用于顯示一種顏色的比特數(shù)。
所有現(xiàn)代計算機(jī)都使用 24 位或 32 位硬件的色彩分辨率:
- 24 bits =16,777,216 種不同的 "True Colors"
- 32 bits = 4,294,967,296 中不同的 "Deep Colors"
更老的計算機(jī)使用 14 位:65,536 種不同的 "High Colors" 分辨率。
異常古老的計算機(jī),以及老式的手機(jī)使用 8 位:256 中不同的 "VGA colors"。
例:document.writeln(screen.colorDepth);
6.screen.pixelDepth?屬性返回屏幕的像素深度。
例:document.writeln(screen.pixelDepth);
對于現(xiàn)代計算機(jī),顏色深度和像素深度是相等的。
貌似這幾個函數(shù)除了1和2? 其他沒什么軟用..
?
Location對象這里不說啊 具體在JavaScript分區(qū)的location三個犯法會用即可:屬性哪里也有?。?/h2>Location 對象方法
可以在Location對象上使用以下方法:
方法 | 描述 |
assign() | 加載新文檔 |
reload() | 重新加載當(dāng)前文檔 |
replace() | 用新的文檔替換當(dāng)前文檔 |
?
?
History:歷史window.history 對象包含瀏覽器歷史。
window.history?對象可不帶 window 書寫。
為了保護(hù)用戶的隱私,JavaScript 訪問此對象存在限制。
對象方法:
- history.back() - 等同于在瀏覽器點(diǎn)擊后退按鈕
- history.forward() - 等同于在瀏覽器中點(diǎn)擊前進(jìn)按鈕
?
1.history.back()?
history.back()?方法加載歷史列表中前一個 URL。
這等同于在瀏覽器中點(diǎn)擊后退按鈕。
?
2.
?
history forward()?方法加載歷史列表中下一個 URL。
?
這等同于在瀏覽器中點(diǎn)擊前進(jìn)按鈕。
?
?
?window.navigator 對象包含有關(guān)訪問者的信息。
?
JavaScript 有三種類型的彈出框:警告框、確認(rèn)框和提示框。
?這也不說啊 自己看
?
?
?
Timing 事件 計時器啊? 就是 那個....也學(xué)過的啦 就是 那玩意?setTimeout(function,?milliseconds) 和?setInterval(function,?milliseconds) 這玩意??!
?
Cookies? 對象
什么是 cookie?
Cookie 是在您的計算機(jī)上存儲在小的文本文件中的數(shù)據(jù)。
當(dāng) web 服務(wù)器向瀏覽器發(fā)送網(wǎng)頁后,連接被關(guān)閉,服務(wù)器會忘記用戶的一切。
Cookie 是為了解決“如何記住用戶信息”而發(fā)明的:
- 當(dāng)用戶訪問網(wǎng)頁時,他的名字可以存儲在 cookie 中。
- 下次用戶訪問該頁面時,cookie 會“記住”他的名字。
Cookie 保存在名稱值對中,如:
當(dāng)瀏覽器從服務(wù)器請求一個網(wǎng)頁時,將屬于該頁的 cookie 添加到該請求中。這樣服務(wù)器就獲得了必要的數(shù)據(jù)來“記住”用戶的信息。
如果瀏覽器已關(guān)閉本地 cookie 支持,則以下實例均無法工作。
?
通過 JavaScript 創(chuàng)建 cookie
JavaScript 可以用?document.cookie?屬性創(chuàng)建、讀取、刪除 cookie。
通過 JavaScript,可以這樣創(chuàng)建 cookie:
您還可以添加有效日期(UTC 時間)。默認(rèn)情況下,在瀏覽器關(guān)閉時會刪除 cookie:
通過?path?參數(shù),您可以告訴瀏覽器 cookie 屬于什么路徑。默認(rèn)情況下,cookie 屬于當(dāng)前頁。
//不知道你看懂沒 反正我是沒看懂啊..其實你cookie要有東西復(fù)制給他就行了..
?
?
?
通過 JavaScript 讀取 cookie
通過 JavaScript,可以這樣讀取 cookie:
document.cookie = "name = hgy";
var xx = document.cookie;
document.writeln(xx);
?
google 不行啊 讀取不出來啊!火狐就可以?。?/p>
可以自己試試啊
?
?
通過 JavaScript 改變 cookie
通過使用 JavaScript,你可以像你創(chuàng)建 cookie 一樣改變它:
舊 cookie 被覆蓋。
?
通過 JavaScript 刪除 cookie
刪除 cookie 非常簡單。
刪除 cookie 時不必指定 cookie 值:
直接把?expires?參數(shù)設(shè)置為過去的日期即可:
您應(yīng)該定義 cookie 路徑以確保刪除正確的 cookie。
如果你不指定路徑,一些瀏覽器不會讓你刪除 cookie。
?
cookie 字符串
document.cookie?屬性看起來像一個正常的文本字符串。什么(什么看起來像啊? 簡直就是原模原樣!媽耶)但它不是。
即使你向?document.cookie?寫一份完整的 cookie 字符串,當(dāng)再次讀取時,你只能看到它的名稱-值對。
如果設(shè)置了新 cookie,則舊的 cookie 不會被覆蓋。新的 Cookie 會被添加到 document.cookie,所以如果你讀取 document.cookie,你得到的東西會像這樣:
顯示所有 cookie 創(chuàng)建 cookie 1 創(chuàng)建 cookie 2 刪除 cookie 1 刪除 cookie 2
如果你想找到一個指定 cookie 的值,你必須編寫 JavaScript 函數(shù)來搜索 cookie 字符串中的 cookie 值
?
別管那么多 知道怎么創(chuàng)建刪除差不都了 前段煩死了 媽耶!??!
具體創(chuàng)建 查詢 什么什么的方法 自己寫??!
好了??!? BOM差不都了 哎 主要還是那么幾個用的比較多啊!
?
?
?
?
?
作者:??咸瑜??
本文摘自 :https://blog.51cto.com/u