中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Window對象在前端中的作用

發布時間:2020-06-23 22:58:07 來源:億速云 閱讀:438 作者:Leah 欄目:web開發

今天就跟大家聊聊有關Window對象在前端中的作用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

特殊的window

提起window,在網頁當中很常見,比如像這樣:

window.onload=function(){
//執行函數體
}

這段代碼的意思是當網頁內容加載完成后要做什么。

在js的領域,window對象有著雙重角色,既是用來訪問瀏覽器窗口的接口,又是Global對象。

也正因為此,所有全局作用域中聲明的變量、函數都會變成window對象的屬性和方法。

比如這樣:

var age = 29;
function sayAge(){
    alert(this.age);
}
alert(window.age); //29
sayAge();         //29
window.sayAge();  //29

但二者也不是完全等同,全局變量不能通過delete刪除,而直接在window上定義的屬性可以。

歷史遺留

早期的網頁中會使用較多的窗口和框架,在同一個窗口內展示有嵌套形式的網頁,以及各種彈窗alert、confirm、prompt等,給用戶輸入或者確認信息,但隨著網頁開發技術和設計的發展,它們已經難尋蹤跡,所以這里不重點說。

location對象

基本屬性

location是最有用的BOM對象之一,它提供了當前窗口所加載文檔的信息和導航功能。它的主要用途都跟url有關:

  ● hash:返回url中#符號后面的字符,如果沒有,返回空。

  ● host/hostname:返回服務器名稱或者端口號之類。

  ● href:返回完整url

  ● port:返回指定端口號

  ● protocol:返回使用的協議

  ● search:返回url的查詢字符串,即從問號開始到末尾的所有內容

位置操作

location可以通過多種方式改變瀏覽器的位置,最常用的是assign()方法,比如:

location.assign("http://www.baidu.com");

這樣就會馬上打開新的url,并在瀏覽歷史中增加一條記錄,下面兩行代碼等效:

window.location = "http://www.baidu.com";
location.href = "http://www.baidu.com";

最常見的是location.href。

當然,修改其他屬性也可以改變當前加載的頁面,通過任何一種方式修改url之后,都會有一條新記錄生成,用戶可以通過點擊后退按鈕導航到前一個頁面,不過,有時候我們不希望這種操作發生,可以使用replace()方法。像下面這樣:

location.replace("http://www.baidu.com");

它只接收一個參數,即導航到的url,且不會生成記錄,用戶不能返回前一個頁面。

與位置有關的另一個方法是reload(),作用就是它的字面意思,重新加載當前頁,但這里有一點點小講究,如果僅僅是reload,不帶參數,頁面會從瀏覽器緩存中重新加載,如果強制從服務器重新加載,則需要傳遞參數,像這樣:

location.reload(true);

history對象

history保留著用戶上網的記錄,每個瀏覽器窗口、標簽頁,都有自己的history對象與特定的window對象相關聯,出于安全考慮,開發人員一般無法得知用戶瀏覽過哪些網頁,但仍然有辦法實現前進后退功能,方法就是go()。例如這樣:

history.go(-1);
history.go(1);

其參數不僅是數字,也可以是一個字符串,瀏覽器會跳到歷史記錄中包含該字符串的第一個位置,可以是前進,也可能是后退。比如

history.go("baidu.com");

另外,前進或者后退也有更直接一些的方法back()、forward()。

除此之外,history還有個length屬性,保存歷史記錄的數量,如果你想確定用戶是否一開始就打開了你的頁面,可以用到它。

if(history.length == 0){
    //干你想干的事
}

history對象不是特別常用,但在某些特殊用途的設計當中,還是要請它出馬來搞定問題。

總結

window對象在移動互聯網浪潮下的地位已經不像PC端那么重,更多涉及的是功能和檢測方面,涉及交互較多,其他方面則交由功能更豐富的自定義的代碼來實現了。

看完上述內容,你們對Window對象在前端中的作用有進一步的了解嗎?如果還想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。

向AI問一下細節
推薦閱讀:
  1. js window對象
  2. Window對象

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐城市| 阳西县| 武平县| 刚察县| 肇庆市| 宁津县| 奉化市| 吉木萨尔县| 海林市| 彝良县| 肇庆市| 灵寿县| 天镇县| 田林县| 徐州市| 谢通门县| 日照市| 尼勒克县| 诸城市| 象山县| 湖北省| 宝兴县| 泽普县| 九龙城区| 论坛| 溧阳市| 大田县| 宁波市| 静安区| 五寨县| 忻州市| 大港区| 牟定县| 三台县| 上杭县| 阿克| 浏阳市| 衡东县| 通榆县| 大安市| 澜沧|