国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

window對象(一) 計(jì)時(shí)器 定位導(dǎo)航 url解析 瀏覽歷史 對話框 消息推送

yankeys / 1509人閱讀

摘要:對象計(jì)時(shí)器一個(gè)作者的寫的關(guān)于定時(shí)器解釋,記的順手訂閱一下。再次判斷是否存在清除定時(shí)任務(wù)瀏覽器定位和導(dǎo)航對象的屬性引用的是對象的。

window對象

計(jì)時(shí)器

一個(gè)jQuery作者的寫的關(guān)于定時(shí)器解釋,記的順手訂閱一下。John Resig,jQuery之父
https://johnresig.com/blog/ho...
如果時(shí)間為0,則會放入隊(duì)列之中,由隊(duì)列進(jìn)行調(diào)用,即生產(chǎn)者-消費(fèi)者模型
一個(gè)栗子

function invoke(f, start, interval, end) {
    if (!start) start = 0;    // 默認(rèn)設(shè)置為 0 毫秒,如果傳入有值,將會不進(jìn)行設(shè)置
    if (arguments.length <= 2) {    // 如果沒有傳入end的值
        setTimeout(f, start);    // 函數(shù)f將會在start秒后調(diào)用
    } else {    // 如果傳入的值有end
        setTimeout(repeat, start);    // 將會在start毫秒后執(zhí)行repeat
        function repeat() {    // 開始定義repeat函數(shù)
            var h = setInterval(f, interval)    // 在interval循環(huán)調(diào)用f
            // 在end毫秒以后停止調(diào)用。
            if (end) {    // 再次判斷end是否存在
                setTimeout(() => {
                    clearInterval(h);    // 清除定時(shí)任務(wù)
                }, end);
            }
        }
    }
}
瀏覽器定位和導(dǎo)航

window對象的location屬性引用的是Location對象的。
https://developer.mozilla.org...
因?yàn)榇嬖谝藐P(guān)系,下列等式總是成立

location === document.location;
true
url解析

提取url搜索字符串中的參數(shù)

/*
 *    這個(gè)函數(shù)解析url查詢串中的name=value字符串
 *    它將 name=value 對儲存在一個(gè)對象的屬性中,并返回該對象
 *    使用方法
 *
 *    var args = urlArgs();    // 調(diào)用定義好的函數(shù),進(jìn)行解析
 *  var q = args.q || "";    // 一個(gè)判斷,如果參數(shù)存在使用參數(shù),否則使用""
 *
 */

function urlArgs() {
    var args = {};
    var query = location.search.substring(1);     // 獲得問號后面的內(nèi)容
    var pairs = query.split("&");    // 將字符串進(jìn)行分割 按照& 即進(jìn)行分項(xiàng)
    for(var i = 0; i < pairs.length; i++){    // 進(jìn)行依次遍歷
        var pos = pairs[i].indexOf("=");    // 進(jìn)行查找是否有= 沒有返回-1 有返回等號所在的索引
        if (pos == -1) {    // 如果沒有 ‘=’
            continue;    // 跳過循環(huán)
        };
        var name = pairs[i].substring(0, pos);    // 因?yàn)楹笠粋€(gè)是不包括,所以返回=前面的內(nèi)容
        var value = pairs[i].substring(pos+1);    // 返回等號后的結(jié)果
        args[name] = value;    // 對鍵值對進(jìn)行存儲 
    };
    return args;    // 返回?cái)?shù)組
};
載入新的文檔
// 更改location屬性使得網(wǎng)頁跳轉(zhuǎn)
location = "http://www.iming.info/"

// 將相對url賦值給location達(dá)到對當(dāng)前url解析的目的
location = "page2.html";

// 跳轉(zhuǎn)到文檔的頂部,跳轉(zhuǎn)頁面向上
location = "#top"    // 如果 #top沒有定義

// 字符串拼接url
location.search = "?page" + (pagenum + 1);    // 加載一個(gè)新文檔,更改href的值也同理
location.hash = pagenum;    // 將會在當(dāng)前文檔跳轉(zhuǎn)到id為pagenum的標(biāo)注點(diǎn)
瀏覽歷史

window對象的history屬性引用該窗口的history對象
腳本不能訪問已經(jīng)保存的url
length表示瀏覽列表中歷史記錄
注意:僅僅是當(dāng)前標(biāo)簽頁的瀏覽歷史記錄,因?yàn)槊块_一個(gè)標(biāo)簽相當(dāng)于創(chuàng)建了一個(gè)新的線程(有些時(shí)候?yàn)g覽器會自動將線程合并)所以相互之間的js線程為獨(dú)立的,不能相互訪問。

// 單擊瀏覽器的后退按鈕2次、
history.go(-2)

// 單擊瀏覽器的前進(jìn)按鈕2次
history.go(2);

由于ajax的技術(shù)的存在,導(dǎo)致會發(fā)生這種事情。

瀏覽器和屏幕信息 navigator對象

該對象起這個(gè)名字是為了紀(jì)念那遙遠(yuǎn)的網(wǎng)景瀏覽器,(@ο@)
知道了,長見識了,網(wǎng)景瀏覽器英文名;Netscape Navigator 一個(gè)時(shí)代??上ё约哄e(cuò)過了。唉~

ps 是滴 google chromem已經(jīng)10年了。2008年,到2018年,整整10年

可以根據(jù)

navigator.userAgent

獲取當(dāng)前瀏覽器的一些信息。
例如

navigator.userAgent
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0"

這是基于Mozilla開源項(xiàng)目的Firefox的瀏覽器,其內(nèi)核為Gecko 版本號為20100101 火狐瀏覽器版本號為61.0, 基于的Mozilla的項(xiàng)目開源版本號為5.0

Mozilla 是由網(wǎng)景創(chuàng)立,不過現(xiàn)在伴隨著網(wǎng)景的徹底從歷史上消失,現(xiàn)在這個(gè)社區(qū)成為一個(gè)開源組織。屬于Mozilla基金會。已經(jīng)整整20年了

歷史 https://en.wikipedia.org/wiki...

navigator.userAgent
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36"

表明瀏覽器四AppleWebkit內(nèi)核的版本為537.36 為chrome瀏覽器,版本為68。0 safari 為 537.36

screen對象

window對象引用的是screen對象

Screen { availWidth: 1378, availHeight: 900, width: 1440, height: 900, colorDepth: 24, pixelDepth: 24, top: 0, left: 0, availTop: 0, availLeft: 0 }
Screen {availWidth: 1378, availHeight: 900, width: 1440, height: 900, colorDepth: 24, …}
availHeight
:
900
availLeft
:
0
availTop
:
0
availWidth
:
1378
colorDepth
:
24
height
:
900
orientation
:
ScreenOrientation {angle: 0, type: "landscape-primary", onchange: null}
pixelDepth
:
24
width
:
1440

能夠得到當(dāng)前瀏覽器的一些相關(guān)信息,例如屏幕的大小,分辨率等

對話框 一個(gè)桌面消息推送

谷歌瀏覽器支持桌面消息推送(套殼瀏覽器也支持,都是一個(gè)內(nèi)核的,無所謂支持不支持)
https://developers.google.com...
https://crxdoc-zh.appspot.com...
github 源碼 https://github.com/GoogleChro...
可以實(shí)現(xiàn)桌面消息推送,
以后會專門寫一個(gè)推送,目前比較好奇這個(gè)推送的過程。看著也不算太難
以及chrome的博客 https://developer.chrome.com
一個(gè)自發(fā)組織的chrome應(yīng)用擴(kuò)展程序的
不過這都貌似過時(shí)了。
github https://github.com/GoogleChrome
以及 https://developers.google.com...
這也算是一個(gè)教程的地方了
以及chromium 博客 https://blog.chromium.org/ 基本上套殼瀏覽器的內(nèi)核都是基于chromium的
以及
https://blog.google/products/...
用消息推送能夠?qū)崿F(xiàn)本地的消息推送,基于系統(tǒng)層面。
安卓能基于chrome瀏覽器,現(xiàn)在對移動端不熟。以后這也是需要彌補(bǔ)的一個(gè)地方、

alert confirm prompt

alert 只有一個(gè)確定按鈕,用于警告等內(nèi)容
confirm 一個(gè)可選的消息,以及兩個(gè)按鈕,在瀏覽器的地址欄正中央的下方彈出,chromer如此
prompt 顯示一個(gè)對話框,用于提示用于輸入。
舉一個(gè)栗子

do {
    var name = prompt("what is your name?");    // 彈出對話框,輸入名字
    var correct = confirm("you entered " + name + "
" + "Click Okay to proceed or Cancel to re-eenter");    // 彈出一個(gè)對話框    ,將會返回一個(gè)布爾值
} while(!correct)
alert("hello, " + name);    // 彈出一個(gè)警告框

其中confirm()以及prompt()會產(chǎn)生阻塞。即,在用戶關(guān)掉的之前,不會返回內(nèi)容,即意味著在彈出一個(gè)對話框前,代碼會停止運(yùn)行。如果正在載入文檔,會停止載入,等待用戶輸入。alert()也是如此,也會產(chǎn)生阻塞
還有一個(gè)為showMondalDialog(),會顯示一個(gè)包含html的格式的模擬對話框??梢越o其傳入?yún)?shù),然后從對話框返回值。
注意一點(diǎn)

該特性已經(jīng)從 Web 標(biāo)準(zhǔn)中刪除,雖然一些瀏覽器目前仍然支持它,但也許會在未來的某個(gè)時(shí)間停止支持,請盡量不要使用該特性。

好吧。這個(gè)已經(jīng)廢棄,那就不學(xué)了

錯(cuò)誤處理

oneror 已經(jīng)廢棄

博客

www.iming.info

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/96576.html

相關(guān)文章

  • 知識整理——瀏覽對象模型

    摘要:瀏覽器對象模型什么是瀏覽器對象模型瀏覽器對象模型瀏覽器模型提供了獨(dú)立于內(nèi)容的可以與瀏覽器窗口進(jìn)行滑動的對象結(jié)構(gòu),就是瀏覽器提供的其主要對象有對象的核心,是訪問瀏覽器的接口,也是規(guī)定的對象對象提供當(dāng)前窗口中的加載的文檔有關(guān)的信息和一些導(dǎo)航功能 瀏覽器對象模型 什么是瀏覽器對象模型 BOM :Browser Object Model(瀏覽器對象模型),瀏覽器模型提供了獨(dú)立于內(nèi)容的、可以...

    mayaohua 評論0 收藏0
  • BOM知識簡易總結(jié)

    摘要:知識總結(jié)在中使用,瀏覽器對象模型是其核心對象的所有對象都存在于一個(gè)運(yùn)行環(huán)境之中,這個(gè)運(yùn)行環(huán)境本身也是對象,稱為頂層對象。如果中不包含端口號,則這個(gè)屬性返回空字符串返回頁面使用的協(xié)議。 BOM知識總結(jié) 在web中使用JavaScript,BOM(瀏覽器對象模型)是其核心 window對象 JavaScript的所有對象都存在于一個(gè)運(yùn)行環(huán)境之中,這個(gè)運(yùn)行環(huán)境本身也是對象,稱為頂層對象。這就...

    notebin 評論0 收藏0
  • 《JavaScript 闖關(guān)記》之 BOM

    摘要:對象的核心對象是,它表示瀏覽器的一個(gè)實(shí)例。及更高版本不會拋出錯(cuò)誤。與框架有關(guān)的最后一個(gè)對象是,它始終指向?qū)嶋H上,和對象可以互換使用。設(shè)置值說明或表示瀏覽器窗口是否最大化。僅限數(shù)值表示新窗口的高度。 ECMAScript 是 JavaScript 的核心,但如果要在 Web 中使用 JavaScript,那么 BOM(瀏覽器對象模型)則無疑才是真正的核心。BOM 提供了很多對象,用于訪問...

    馬忠志 評論0 收藏0
  • bom基礎(chǔ)

    摘要:里面的對象什么是是瀏覽器對象,全拼為瀏覽器對象模型是的縮寫,簡稱瀏覽器對象模型提供了獨(dú)立于內(nèi)容而與瀏覽器窗口進(jìn)行交互的對象由于主要用于管理窗口與窗口之間的通訊,因此其核心對象是由一系列相關(guān)的對象構(gòu)成,并且每個(gè)對象都提供了很多方法與屬性缺乏標(biāo) js里面的Bom對象 什么是Bom Bom是瀏覽器對象,全拼為(Browser Object Model)瀏覽器對象模型 BOM是browser...

    shusen 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<