欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Window對象

  1. setTimeout()、clearTimeout:用于設(shè)置,取消單次執(zhí)行指定操作的函數(shù);setInterval(),clearInterval():用于設(shè)置、取消每隔指定時(shí)間執(zhí)行指定操作的函數(shù)。

    成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、黑龍江網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為黑龍江等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

  2. Window對象的location屬性引用的是Location對象,它表示該窗口中當(dāng)前顯示的文檔的url,并定義了方法用來使窗口載入新的文檔, window.location===document.location,總是返回true。

  3. 解析URL:Location對像的href屬性是一個(gè)字符串,它包含Url的完整文本。Location對象的toString()方法返回href屬性的值,因此在隱式調(diào)用toString()的情況下,可以使用location代替location.href。這個(gè)對象的protocol,host,hostname,pathname和search,分別表示URL的各個(gè)部分。他們成為“URL分解屬性。hash屬性返回URL中的“片段標(biāo)識符”部分。search屬性頁類似,它返回的是問號之后的url,這部分通常用是某種類型的查詢字符串。一般來說,這部分內(nèi)容是用來參數(shù)url并在其中嵌入?yún)?shù)的。雖然這些參數(shù)通常用于運(yùn)行在服務(wù)器上的腳本,但在啟用javascript的頁面中當(dāng)然也可以使用它們。

#的含義:#代表網(wǎng)頁中的一個(gè)位置。其右面的字符,就是該位置的標(biāo)識符。比如,

http://www.example.com/index.html#print

    就代表網(wǎng)頁index.html的print位置。瀏覽器讀取這個(gè)URL后,會(huì)自動(dòng)將print位置滾動(dòng)至可視區(qū)域。

    為網(wǎng)頁位置指定標(biāo)識符,有兩個(gè)方法。一是使用錨點(diǎn),比如<a name="print"></a>,二是使用id屬性,比如<divid="print" >。

    http請求不包括#:,#只是用來指導(dǎo)瀏覽器動(dòng)作的,對服務(wù)器完全無用,索引http請求不包括#比如,訪問下面的網(wǎng)址,

    http://www.example.com/index.html#print

    瀏覽器實(shí)際發(fā)出的請求是這樣的:

        GET /index.htmlHTTP/1.1

        Host:www.example.com

    可以看到,只是請求index.html,根本沒有"#print"的部分。

    如果只改變#后面的內(nèi)容,瀏覽器不會(huì)觸發(fā)頁面重載,但會(huì)改變?yōu)g覽器的訪問歷史

    每一次改變#后的部分,都會(huì)在瀏覽器的訪問歷史中增加一個(gè)記錄,使用"后退"按鈕,就可以回到上一個(gè)位置。

    這對于ajax應(yīng)用程序特別有用,可以用不同的#值,表示不同的訪問狀態(tài),然后向用戶給出可以訪問某個(gè)狀態(tài)的鏈接。

    值得注意的是,上述規(guī)則對IE 6和IE 7不成立,它們不會(huì)因?yàn)?的改變而增加歷史記錄。

    window.location.hash這個(gè)屬性可讀可寫。讀取時(shí),可以用來判斷網(wǎng)頁狀態(tài)是否改變;寫入時(shí),則會(huì)在不重載網(wǎng)頁的前提下,創(chuàng)造一條訪問歷史記錄。

    eg:以http://www.qdweb.com/templete/baidujs.html?id=2#s=1為例

    console.log(location.href);

    console.log(location.toString());

    console.log(location.protocol);

    console.log(location.host);

    console.log(location.hostname);

    console.log(location.pathname);

    console.log(location.search);

    console.log(location.hash);

    輸出結(jié)果為:

http://www.qdweb.com/templete/baidujs.html?id=2#s=1qwzn1.js:113

http://www.qdweb.com/templete/baidujs.html?id=2#s=1qwzn1.js:114

http: qwzn1.js:115

www.qdweb.com qwzn1.js:116

www.qdweb.com qwzn1.js:117

/templete/baidujs.html qwzn1.js:118

?id=2 qwzn1.js:119

#s=1

   對url路徑進(jìn)行解析的函數(shù)

/**

 * 將路徑解析為鍵值對

 * @return {[對象]} [返回解析后的鍵值對對象]

 */

         function urlArgs(){

         var args={};

         varquery=location.search.substring(1);

         varpairs=query.split("&");

         for (var i = 0; i <pairs.length; i++) {

                   varpos=pairs[i].indexOf('=');

                   if(pos==-1){

                            continue;

                   }

                   varname=pairs[i].substring(0,pos);

                   varvalue=pairs[i].substring(pos+1);

                   value=decodeURIComponent(value);//對value值進(jìn)行解析

                   args[name]=value;

         };

         return args;

}

Location對象的assign()方法可以使窗口載入并顯示你指定的URL中的文檔。replace()方法也類似,但它在載入新文檔之前會(huì)從瀏覽歷史中把當(dāng)前文檔刪除。如果腳本無條件地載入一個(gè)新文檔,replace()方法可能是比assign()方法更好的選擇。否則,“后退”按鈕會(huì)把瀏覽器帶回到原始文檔,而相同的腳本則會(huì)再次載入新文檔。

此外還有reload()方法,使瀏覽器重新載入當(dāng)前文檔。

4.瀏覽歷史:History對象用來把窗口的瀏覽歷史和文檔狀態(tài)列表的形式表示。History對象的length屬性表示瀏覽歷史列表中的元素?cái)?shù)量,但出于安全因素,腳本不能訪問已保存的URL。

    History對象的back()和forward()方法與瀏覽器的“后退”和“前進(jìn)”按鈕一樣:他們使瀏覽器在瀏覽歷史中前后跳轉(zhuǎn)一格。

    go()方法接受一個(gè)整數(shù)參數(shù),可以再歷史列表中向前(正整數(shù)——或向后(負(fù)整數(shù))跳過任意多個(gè)頁。

    如果窗口包含多個(gè)子窗口(比如<iframe>元素),子窗口的瀏覽歷史會(huì)按時(shí)間順序穿插在主窗口的歷史中。這意味著在主窗口調(diào)用history.back()可能會(huì)導(dǎo)致其中一個(gè)子窗口往回跳轉(zhuǎn)到前一個(gè)顯示的文檔,但主窗口保留當(dāng)前狀態(tài)不變。

5.Navigator對象:包含瀏覽器廠商和版本信息,主要用才對瀏覽器的嗅探上,主要有:

    appName:Web瀏覽器的全稱。在IE中是“Microsoft Internet Explorer”。在Firefox中,該屬性是“Netscape”。為了兼容現(xiàn)存的瀏覽器嗅探代碼,其他瀏覽器通常也取值為“Netscape”

    appVerson:此屬性通常以數(shù)字開始,并跟著包含瀏覽器廠商和版本信息的詳細(xì)字符串。字符串前面的數(shù)字通常是4.0或5.0,表示它是第4或第5代兼容的瀏覽器。appVerson沒有標(biāo)準(zhǔn)格式,所以,沒辦法直接用它來判斷瀏覽器的類型

    userAgent:瀏覽器在它的USER-AGENT HTTP頭部中發(fā)送的字符串。這個(gè)屬性通常包含appVersion中的所有信息,并且常常也可能包含其他的細(xì)節(jié)。和appVerson一樣,它也沒有標(biāo)準(zhǔn)格式。由于這個(gè)屬性包含絕大部分信息,因此瀏覽器嗅探代碼通常用它來嗅探。

    /**

     * 為客戶端嗅探定義browser.name和browser.version,這里使用jq1.4.1中的代碼

     * "webkit":Safari或Chrome;版本號是Webkit的版本號

     * "opera":Opera;版本號就是其軟件的版本號

     * "mozilla":Firefox或者其他基于gecko內(nèi)核的瀏覽器;版本號是Gecko的版本

     * "mise":IE;版本號就是軟件的版本

     * @return {[type]} [返回一個(gè)包含名稱和版本號的對象]

     */

    varbrowser=(function(){

     var s=navigator.userAgent.toLowerCase();

     var match=/(webkit)[\/]([\w.]+)/.exec(s)||

     /(opera)(?:.*verson)?[\/]([\w]+)/.exec(s)||

     /(mise)([\w.]+)/.exec(s)||

     !/compatible/.test(s)&&/(mozilla)(?:.*?rv:([\w.]+))?/.exec(s)||

     [];

     return{

               name:match[1]||"",verson:match[2]||"0"

     };

    })();

    platform:在其上運(yùn)行瀏覽器的操作系統(tǒng)(并且可能是硬件)的字符串。

    onLine:如果存在的話,表示瀏覽器當(dāng)前是否連接到網(wǎng)絡(luò)。

    geoLocation:定義用于確定用戶地理位置信息的接口

    javaEnabled():當(dāng)瀏覽器可以運(yùn)行java小程序時(shí)返回true

    cookieEnable():如果瀏覽器可以保存永久的cookie時(shí),返回true。當(dāng)cookie配置為“視情況而定”時(shí),可能返回不正確的值。

6.Screen提供有關(guān)窗口顯示的大小和可用的顏色數(shù)量的信息。屬性width和height指定的是以像素為單位的窗口大小。屬性availWidth和availHeight指定的是實(shí)際的可用的顯示大小,它們排除了像桌面任務(wù)欄的特性所占用的空間。可以用Screen對象來確定Web應(yīng)用是否運(yùn)行在一個(gè)小屏幕的設(shè)備上,如上網(wǎng)本。

7.對話框:alert()向用戶顯示一條消息并等待用戶關(guān)閉的對話框,confirm()要求用戶單擊“確定”或“取消”按鈕,并返回一個(gè)布爾值。prompt()同樣顯示一條消息等待用戶輸入字符串并返回那個(gè)字符串。

8.Window對象的onerror屬性是一個(gè)事件處理程序,當(dāng)未捕獲的異常傳播到調(diào)用棧上時(shí)就會(huì)調(diào)用它,并把錯(cuò)誤消息輸出到瀏覽器的JavaScript控制臺(tái)上。如果給這個(gè)屬性賦一個(gè)函數(shù),俺么只要窗口中發(fā)生了JavaScript錯(cuò)誤,就會(huì)調(diào)用該函數(shù),即它成了窗口的錯(cuò)誤處理程序。該事件處理函數(shù)通過三個(gè)字符串參數(shù)調(diào)用。第一個(gè)參數(shù)是描述錯(cuò)誤的一條消息。第二個(gè)參數(shù)是一個(gè)字符串,它存放引發(fā)錯(cuò)誤的JavaScript代碼所在的文檔的url。第三個(gè)參數(shù)是文檔中發(fā)生錯(cuò)誤的行數(shù)。如果函數(shù)返回false,它通常瀏覽器事件處理程序已經(jīng)處理了錯(cuò)誤,不需要其他操作。即瀏覽器不應(yīng)嘎斯顯示它自己的錯(cuò)誤消息。然而Firefox里的錯(cuò)誤處理程序必須返回true來表示它已經(jīng)處理了錯(cuò)誤。eg:

    window.onerror=function(msg,url,line){

     console.log("消息:"+msg);

     console.log("路徑:"+url);

     console.log("所在行:"+line);

    }

9.如果在html文檔中用id屬性為元素命名,并且如果Widow對象沒有此名字的屬性,Window對象會(huì)賦予一個(gè)屬性,它的名字是id屬性,而他們的值指向表示文檔元素的HTMLElement對象。比如<button id=”okay” />元素,可以通過全局變量okay來引用此函數(shù)。但如果Window對象有此名字的屬性,這就不會(huì)發(fā)生。

    jq根據(jù)id獲取元素的函數(shù):

    var $=function(id){

             return document.getElementById(id);

    }

10.open():打開一個(gè)新的瀏覽器窗口(或標(biāo)簽頁,這通常和瀏覽器的配置選項(xiàng)有關(guān))。Window.open()載入指定的URL到新的或已存在的窗口中,并返回代表那個(gè)窗口的Window對象。它有4個(gè)可選的參數(shù)。第一個(gè),要在新窗口中顯示的文檔的URL,如果這個(gè)參數(shù)省略了(也可以是空字符串)。那么會(huì)使用空白頁的URL about:balnk;第二個(gè),新打開的窗口的名字。如果指定的是一個(gè)已經(jīng)存在的窗口的名字(并且腳本允許跳轉(zhuǎn)到那么窗口),會(huì)直接使用已存在的窗口。否則,會(huì)打開新的窗口,并將這個(gè)指定的名字賦值給它。如果省略這個(gè)參數(shù),會(huì)使用指定的名字“_blank”打開一個(gè)新的、未命名的窗口。

    需要注意的是,腳本時(shí)無法通過簡單地猜測窗口名字來操控這個(gè)窗口中的Web應(yīng)用的,只有設(shè)置了“允許導(dǎo)航”的也米昂才可以這樣。寬泛地講,當(dāng)且僅當(dāng)窗口包含的文檔來自相同的源或者是這個(gè)腳本打開了那個(gè)窗口(或者遞歸地打開了窗口中的窗口),腳本才可以只通過名字來指定存在的窗口。還有,如果其中一個(gè)窗口是內(nèi)嵌在另一個(gè)窗口里的窗體,那么他們的腳本之間就可以相互導(dǎo)航。這種情況下,可以使用保留的名字”_top”(頂級祖先窗口)和“_parent”(直接父級窗口)來獲取彼此的瀏覽上下文。

    窗口的名字允許open()方法引用已存在的窗口,并且同時(shí)可以作為<a>和<form>元素上的HTML target屬性的值,用來表示引用的文檔(或表單提交結(jié)果)應(yīng)該顯示在命名的窗口中。這個(gè)target屬性的值可以設(shè)置為”_blank”或”_top”,從而使引用的文檔顯示在新的空白的窗口,父窗口/窗體或頂層窗口中。

    Window對象如果有name屬性,就用它保存名字,該屬性是可寫的,并且腳本可以隨意設(shè)置它。如果傳遞給Window.open()一個(gè)除”_blank”之外的名字,通過該調(diào)用創(chuàng)建的窗口將以改名字作為name屬性的初始值。如果<iframe>元素有name屬性,表示該iframe的window對象會(huì)用它作為name屬性的初始值。

    第三個(gè)參數(shù)是一個(gè)用逗號隔開的列表,包括大小和各種屬性,用以表明新窗口是如何打開的。如果省略這個(gè)參數(shù),那么新窗口就會(huì)用一個(gè)默認(rèn)的大小,而且?guī)в幸徽M標(biāo)準(zhǔn)的UI組件,即菜單欄,狀態(tài)欄,工具欄。在標(biāo)簽式瀏覽器中,會(huì)創(chuàng)建一個(gè)新的標(biāo)簽。另一方面如果指定了這個(gè)參數(shù),就可以指定窗口的尺寸,以及它包含的一組屬性。(顯式指定窗口尺寸更像是創(chuàng)建新窗口,而不是新標(biāo)簽。)例如,要打開允許改變大小的瀏覽器窗口,并且包含狀態(tài)欄、工具欄和地址欄,就可以這樣寫:

    var w=window.open(“smallwin.html”,”smallwin”,”width=400,height=350,status=yes,resizable=yes”);

    第四個(gè)參數(shù)只在第二個(gè)參數(shù)命名的是一個(gè)存在的窗口時(shí)才有用。他是一個(gè)布爾值,聲明了由第一個(gè)參數(shù)指定的URL是應(yīng)用替換掉窗口瀏覽歷史的當(dāng)前條目(true),還是應(yīng)該在窗口瀏覽歷史中創(chuàng)建一個(gè)新的歷史條目(fales),后者是默認(rèn)的設(shè)置。

    在由window.open()方法創(chuàng)建的窗口中,opener屬性引用的是打開它的腳本的Window對象。在其他窗口中,opener為null。

11.close():關(guān)閉一個(gè)窗體,需要顯式地調(diào)用window.close(),避免和Document對象的close()方法(如果正在從事事件處理程序調(diào)用close())混淆。

12.Window對象是客戶端JavaScript的全局變量,但是從技術(shù)上來看,并不是這樣的。Web瀏覽器每次向窗口或窗體中載入新的內(nèi)容,他都會(huì)開始一個(gè)新的JavaScript執(zhí)行上下文,包含一個(gè)新創(chuàng)建的全局對象。但是當(dāng)多個(gè)窗口或窗體在使用時(shí),有一個(gè)重要的概念,盡管窗體或窗口載入新的文檔,但是引用窗體或窗口的Window對象還仍然是一個(gè)有效的引用。

    所有客戶端JavaScript有兩個(gè)重要的對象。客戶端全局對象處于作用域鏈的頂級,并且是全局變量和函數(shù)所定義的地方。事實(shí)上,全局對象會(huì)在窗口或窗體載入新內(nèi)容時(shí)被替換掉。我們稱為“Window對象”的對象實(shí)際上不是全局對象,而是全局對象的一個(gè)代理。每當(dāng)查詢或設(shè)置Window對象的屬性時(shí),就會(huì)在窗口或窗體的全局對象上查詢或設(shè)置相同的屬性。真正的全局對象是Global。

本文題目:Window對象
URL標(biāo)題:http://www.chinadenli.net/article28/ispjjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管小程序開發(fā)微信小程序網(wǎng)站排名網(wǎng)站收錄標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司