日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

js浏览器对象模型(BOM)

發布時間:2023/12/9 HTML 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js浏览器对象模型(BOM) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

瀏覽器對象模型(Browser Object Model,BOM):瀏覽器為js提供的對象集合。

1 windows對象

windows對象:表示瀏覽器的框架以及與其相關的內容,比如滾動條和導航欄圖標等等。或者說windows對象就代表瀏覽器本身。windows對象是個全局對象,他不需要使用名稱訪問自己的屬性和方法。

//下面的代碼本質是相同的 alert("hello!");window.alert("hello!");

windows對象的某些屬性也是對象。這些屬性(對象)有location、history、document、navigator、screen。其中document屬性(對象)又包含forms、images、links等屬性(對象)。

2 history對象

history對象跟蹤用戶訪問的每個頁面,這個頁面列表也叫做 history stack。用戶單機瀏覽器的 Back 和 Forward 按鈕,其本質就是在歷史棧里進行切換。

2.1 屬性

屬性注釋
length返回瀏覽器歷史棧中的 URL 數量

2.2 方法

方法注釋
back()加載 history 列表中的前一個 URL
forward()加載 history 列表中的下一個 URL
go()加載 history 列表中的某個具體頁面
history.go(-1); //后退1個頁面 history.back();history.go(1); //前進1個頁面 history.forward();history.go(-2); //后退2個頁面

3 location對象

3.1 屬性

location包含與當前頁面位置有關的信息,常用屬性如下:

//設置或獲取整個 URL 為字符串 console.log(location.href); /* http://localhost:63342/frontend_projects/test/index.html?_ijt=ll3ai4h2v873l9ukcm2g8a73hr *///設置或獲取對象指定的文件名或路徑 console.log(location.pathname); /* /frontend_projects/test/index.html*///設置或獲取與 URL 關聯的端口號碼 console.log(location.port); /* 63342 *///設置或獲取 URL 的協議部分 console.log(location.protocol); /* http: *///設置或獲取 href 屬性中在井號“#”后面的分段 console.log(location.hash); /* *///設置或獲取 location 或 URL 的 hostname 和 port 號碼 console.log(location.host); /* localhost:63342 *///設置或獲取 href 屬性中跟在問號后面的部分 console.log(location.search); /* ?_ijt=1lrq8evbm5uovrl1ib8af65g5n */

3.2 方法

方法注釋
reload()重新加載當前文檔
replace()用新的文檔替換當前文檔

使用新頁面替換當前頁面

//方法一: //新頁面是加在歷史棧頂的,可以使用back()來返回到原來的頁面 location.href ="newPage.html";//方法二: //使用replace()的本質是用新頁面替換掉歷史棧中的舊頁面,因此無法通過history.back()退回到原來的頁面 location.replace("newPage.html");

navigator對象包含瀏覽器和運行瀏覽器相關的信息

4.1 屬性

屬性注釋
appName返回瀏覽器的模型
appVersion返回瀏覽器的平臺和版本信息
appCodeName返回瀏覽器的代碼名
platform返回運行瀏覽器的操作系統平臺
systemLanguage返回 OS 使用的默認語言
userLanguage返回 OS 的自然語言設置
onLine返回一個布爾值,指示指示瀏覽器是否處于脫機模式
cookieEnabled返回一個布爾值,指示指示瀏覽器是否啟用了cookie
userAgent返回由客戶機發送服務器的 user-agent 頭部的值
var tmp1 = navigator.appName; //Netscapevar tmp2 = navigator.appVersion; //5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36var tmp3 = navigator.appCodeName; //Mozillavar tmp4 = navigator.platform; //Win32var tmp5 = navigator.systemLanguage; //undefinedvar tmp6 = navigator.userLanguage //undefinedvar tmp7 = navigator.onLine; //truevar tmp8 = navigator.cookieEnabled; //truevar tmp9 = navigator.userAgent; //Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36

4.2 方法

方法注釋
javaEnabled()返回一個布爾值,指示瀏覽器是否支持并啟用了 Java

4.3 新增的geolocation

H5中為navigator新增了geolocation屬性,并且geolocation也是對象。它可以獲取并利用設備的物理位置。

geolocation中最常用的就是getCurrentPosition()方法:

//編寫回調函數 //Geolocation.prototype.getCurrentPosition = function(successCallback,errorCallback,options) {}; function geoSucess(position) {var coords = position.coords;var latitude = coords.latitude;var longitude = coords.longitude;var message = "you are at "+latitude+","+longitude;alert(message); }function geoError(errorObj) {alert(errorObj.message); //把系統返回的錯誤對象作為回調函數的參數}navigator.geolocation.getCurrentPosition(geoSucess,geoError);

5 screen對象

Screen 對象包含有關客戶端顯示屏幕的信息

詳細信息參考:http://www.w3school.com.cn/jsref/dom_obj_screen.asp

6 document對象

有關document的高級操作就是DOM,后面我會介紹,這里只簡單介紹document對象的基礎用法。

document 是BOM中最常用的一個對象之一。通過這個對象可以訪問到頁面上的HTML元素以及其屬性和方法。

document 有很多關聯的屬性,這些屬性是類似數組的結構,即集合。常用的集合有forms、images、links。

6.1 屬性

cookie:設置或返回與當前文檔有關的所有 cookie。該屬性是一個可讀可寫的字符串,可使用該屬性對當前文檔的 cookie 進行讀取、創建、修改和刪除操作。

domain:返回當前文檔的域名。該屬性是一個只讀的字符串,包含了載入當前文檔的 web 服務器的主機名。

lastModified:返回文檔被最后修改的日期和時間。該值來自于 Last-Modified HTTP 頭部,它是由 Web 服務器發送的可選項。

referrer:返回載入當前文檔的文檔的 URL。如果當前文檔不是通過超級鏈接訪問的,則為 null。這個屬性允許客戶端 JavaScript 訪問 HTTP 引用頭部。

title:返回當前文檔的標題

URL:返回當前文檔的 URL。一般情況下,該屬性的值與包含文檔的 Window 的 location.href 屬性相同。不過,在 URL 重定向發生的時候,這個 URL 屬性保存了文檔的實際 URL,而 location.href 保存了請求的 URL。

6.2 方法

getElementById():返回對擁有指定 id 的第一個對象的引用

getElementsByName():返回帶有指定名稱的對象集合

getElementsByTagName():返回帶有指定標簽名的對象集合

close():關閉用 document.open() 方法打開的輸出流,并顯示選定的數據

open() :打開一個流,以收集來自任何 document.write() 或 document.writeln() 方法的輸出

write():向文檔寫 HTML 表達式 或 JavaScript 代碼

writeln():等同于 write() 方法,不同的是在每個表達式之后寫一個換行符

//效果相同 document.writeln("hello!") document.write("hello!\n")

6.3 集合

6.3.1 images集合

頁面上的所有圖像都保存在images集合中,images[0]表示頁面上的第一個圖片位,依次類推。所以我們可以利用js來按需選擇要顯示的圖像源。

<img name="myImage" src="bg.jpg"/><script>var myImage = ["bj1.gif","bj2.gif","bj3.gif","bj4.gif"];var imgIndex = prompt("Enter a number from 0 to 3","");document.images[0].src = myImage[imgIndex];document.images.length //獲取頁面的圖片位數量</script>
6.3.2 links集合

對于每一個有href屬性的超鏈接元素<a/>,瀏覽器都會創建一個a對象。與images集合類似,頁面上的所有a對象都包含在links集合中。

document.links.length //獲取頁面鏈接的數量

7 瀏覽器測試

常用的代碼測試有兩種:特性檢測和瀏覽器嗅探

7.1 特性檢測

特性檢測是指檢測瀏覽器是否支持某個特性的過程。

//檢測瀏覽器是否支持navigator.geolocation if(navigator.geolocation){//blablabla }

也可以寫成下面的格式:

if(typeof navigator.geolocation!="undefined"){//blablabla }//在支持geolocation的瀏覽器中,類型為"object,而在不支持geolocation的瀏覽器中,類型為"undefined"

7.2 瀏覽器嗅探

瀏覽器嗅探就是基于瀏覽器的userAgent字符串的,然而這個字段是可以被修改的,所以非常不可靠。可以通過修改user-Agent來實現瀏覽器和操作系統的偽裝。

//navigator.appName 返回瀏覽器的模型 //對IE返回"Microsoft Internet Explorer",對Firefox、Chrome、Safari則返回"Netscape"//navigator.userAgent 返回瀏覽器與操作系統相關的信息 //Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36

轉載于:https://www.cnblogs.com/whatisfantasy/p/6230327.html

總結

以上是生活随笔為你收集整理的js浏览器对象模型(BOM)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。