成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

bom筆記

teren / 2230人閱讀

摘要:不寫第二個(gè)參數(shù)也可以方法的返回值是一個(gè)字符串有可能為空或者,具體分成三種情況。用戶輸入信息,并點(diǎn)擊確定,則用戶輸入的信息就是返回值。用戶點(diǎn)擊了取消或者按了按鈕,則返回值是。

總結(jié)bom筆記之前,先轉(zhuǎn)載一篇大佬寫的文章DOM和BOM操作

一、BOM簡(jiǎn)述 1、概念

BOM(Browser Object Model) 是指瀏覽器對(duì)象模型,瀏覽器對(duì)象模型提供了獨(dú)立于內(nèi)容的、可以與瀏覽器窗口進(jìn)行互動(dòng)的對(duì)象結(jié)構(gòu)。

2、用途

javacsript是通過(guò)訪問(wèn)BOM(Browser Object Model)對(duì)象來(lái)訪問(wèn)、控制、修改客戶端(瀏覽器)。BOM由多個(gè)對(duì)象組成,其中代表瀏覽器窗口的Window對(duì)象是BOM的頂層對(duì)象,其他對(duì)象都是該對(duì)象的子對(duì)象。

二、window對(duì)象 1、概述

BOM 的核心是window對(duì)象,所有在全局作用域中聲明的變量、函數(shù)、對(duì)象都會(huì)作為window的屬性和方法。
例如:document也是window的屬性

三、window的常用屬性 1、window.innerHeight,window.innerWidth

網(wǎng)頁(yè)的CSS布局占據(jù)的瀏覽器窗口的高度和寬度,單位為像素
當(dāng)放大和縮小網(wǎng)頁(yè)的時(shí)候,瀏覽器窗口的寬高會(huì)改變

2、滾動(dòng)scoll

window.scrollX、window.scrollY 滾動(dòng)條橫向偏移長(zhǎng)度/縱向偏移量

scrollTo(x,y) 讓滾動(dòng)條滾動(dòng)到坐標(biāo)為(x,y)的位置

scrollBy(x,y) 相對(duì)當(dāng)前位置移動(dòng)滾動(dòng)條向右和向下滾動(dòng)長(zhǎng)度

舉個(gè)特殊的栗子


從圖中可以看出,scrollTo(x,y)能偏移的位置是有限制的。圖中scrollx最大能滾動(dòng)34px,這就是window窗口和網(wǎng)頁(yè)展示width的長(zhǎng)度差。

3、navigator(導(dǎo)航)

Window對(duì)象的navigator屬性,指向一個(gè)包含瀏覽器相關(guān)信息的對(duì)象。
其中的userAgent指向當(dāng)前用的瀏覽器種類,你用什么設(shè)備看的瀏覽器。比如window的chrome或者是用mac的chrome之類的

判斷用戶的瀏覽器類型

第一種通過(guò)直接比較navigator.userAgent重是否含有/Android/,/iPhone/等字樣
function isAndroid(){
return /Android/.test(navigator.userAgent);
}
function isIphone(){
return /iPhone/.test(navigator.userAgent);
}
function isIpad(){
return /iPad/.test(navigator.userAgent);
}
function isIOS(){
return /(iPad)|(iPhone)/.test(navigator.userAgent);
}
第二種,使用search()函數(shù),通過(guò)檢測(cè)navigator.userAgent重是否含有Android,iPhone等字樣的下標(biāo),返回值是否大于0進(jìn)行判斷

function isAndroid(){
  if(navigator.userAgent.search("android") >0){
    console.log("用戶的瀏覽器類型是android")
  }
}
isAndroid()
function isIphone(){
   if(navigator.userAgent.search("iphone") >0){
    console.log("用戶的瀏覽器類型是iphone")
  }
}
function isIpad(){
   if(navigator.userAgent.search("ipad") >0){
    console.log("用戶的瀏覽器類型是ipad")
  }
}
function isIOS(){
   if(navigator.userAgent.search("ios") >0){
    console.log("用戶的瀏覽器類型是ios")
  }
}
4、screen屬性

screen也是window的屬性,表示的查看瀏覽器的設(shè)備(比如電腦屏幕)的信息
縮放網(wǎng)頁(yè)不會(huì)改變screen.width和 screen.height

alert(),prompt(),confirm() (三種不常用的和網(wǎng)頁(yè)交互的方式)它們會(huì)彈出不同的對(duì)話框,要求用戶做出回應(yīng)。需要注意的是,alert()、prompt()、confirm()這三個(gè)方法彈出的對(duì)話框,都是瀏覽器統(tǒng)一規(guī)定的式樣,是無(wú)法定制的

5、alert(message)

alert(message),會(huì)讓瀏覽器發(fā)送一條消息。用戶只有點(diǎn)擊“確定”按鈕,對(duì)話框才會(huì)消失。在對(duì)話框彈出期間,瀏覽器窗口處于凍結(jié)狀態(tài),如果不點(diǎn)“確定”按鈕,用戶什么也干不了。

alert("hello,瀏覽器告訴我誰(shuí)是世界上最美的女人,是我嗎")

6、prompt(text[, default])

prompt方法彈出的對(duì)話框,在提示文字的下方,還有一個(gè)輸入框,要求用戶輸入信息,并有“確定”和“取消”兩個(gè)按鈕。它往往用來(lái)獲取用戶輸入的數(shù)據(jù)

prompt("我是不是最帥的程序員","yes")

有兩個(gè)參數(shù),第二個(gè)是預(yù)設(shè)的回答值。不寫第二個(gè)參數(shù)也可以

prompt方法的返回值是一個(gè)字符串(有可能為空)或者null,具體分成三種情況。

用戶輸入信息,并點(diǎn)擊“確定”,則用戶輸入的信息就是返回值。

用戶沒(méi)有輸入信息,直接點(diǎn)擊“確定”,則輸入框的默認(rèn)值就是返回值。

用戶點(diǎn)擊了“取消”(或者按了Escape按鈕),則返回值是null。

7、confirm(message)

除了提示信息之外,只有“確定”和“取消”兩個(gè)按鈕,往往用來(lái)征詢用戶的意見(jiàn)

三、URL的編碼/解碼方法

先看一下若愚老師寫的博客聊一聊編碼與亂碼

1:URL 編碼的原因

URL 只能使用 ASCII 字符集來(lái)通過(guò)因特網(wǎng)進(jìn)行發(fā)送,也就是說(shuō)URL只能使用英文字母、阿拉伯?dāng)?shù)字和某些標(biāo)點(diǎn)符號(hào),不能使用其他文字和符號(hào),所以需要對(duì)URL里面的特殊字符進(jìn)行編碼

2:編碼方式

1)、encodeURI()
主要針對(duì)整個(gè)url編碼,對(duì)于url本身有些的特殊字符不會(huì)進(jìn)行編碼。比如~!@#$&*()=:/,;?+" 和ASCII字母、數(shù)字不會(huì)編碼
2)、encodeURIComponent()
用于對(duì)URL的組成部分COMponent(成分)進(jìn)行個(gè)別編碼,而不用于對(duì)整個(gè)URL進(jìn)行編碼。編碼范圍比encodeURI()寬,只有~!*()"和ASCII字母、數(shù)字不會(huì)編碼

3:解碼方式

1)、decodeURI()
和encodeURI()對(duì)應(yīng)的解碼方式,不能解encodeURIComponent()的碼
2)、decodeURIComponent()
和encodeURIComponent()對(duì)應(yīng)的解碼方式

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99530.html

相關(guān)文章

  • JavaScript 一些有關(guān) BOM筆記

    摘要:但是如果你在別的頁(yè)面比如在百度搜索結(jié)果頁(yè)面上,運(yùn)行上面的代碼,會(huì)發(fā)現(xiàn)窗口不會(huì)被移動(dòng)位置,也不會(huì)被改變寬度高度。 JavaScript 一些有關(guān) BOM 的筆記 原文鏈接 瀏覽器窗口 參看我以前的文章: 一些窗口滾動(dòng)和窗口、元素寬度高度的 Web APIs window.open() var win = window.open(URL,name,specs,replace) // wi...

    PrototypeZ 評(píng)論0 收藏0
  • 《JavaScript高級(jí)程序設(shè)計(jì)》筆記BOM(八)

    摘要:瀏覽器對(duì)象模型提供了很多對(duì)象,用于訪問(wèn)瀏覽器的功能,這些功能與任何網(wǎng)頁(yè)內(nèi)容無(wú)關(guān)。對(duì)象基本上只用來(lái)表明客戶端的能力。 BOM(瀏覽器對(duì)象模型)提供了很多對(duì)象,用于訪問(wèn)瀏覽器的功能,這些功能與任何網(wǎng)頁(yè)內(nèi)容無(wú)關(guān)。 window對(duì)象 全局作用域 定義全局變量與在window對(duì)象上直接定義屬性還是有一點(diǎn)差別:全局變量不能通過(guò)delete操作符刪除,而直接在window對(duì)象上的定義的屬性可以。 v...

    mushang 評(píng)論0 收藏0
  • JavaScript高級(jí)程序設(shè)計(jì)學(xué)習(xí)筆記一(JavaScript簡(jiǎn)介)

    摘要:在上百種語(yǔ)言中算是命好的一個(gè),還有就是最近納入高考體系的。由以下三個(gè)部分構(gòu)成。就是對(duì)實(shí)現(xiàn)該標(biāo)準(zhǔn)規(guī)定的各個(gè)方面內(nèi)容的語(yǔ)言的描述。是針對(duì)但經(jīng)過(guò)擴(kuò)展的用于的應(yīng)用程序編程接口。將頁(yè)面映射為由節(jié)點(diǎn)構(gòu)成的樹(shù)狀結(jié)構(gòu)。 JavaScript的歷史這里就不再贅述了,當(dāng)然JavaScript的歷史還是比較有意思的。在上百種語(yǔ)言中JavaScript算是‘命’好的一個(gè),還有就是最近納入高考體系的python...

    supernavy 評(píng)論0 收藏0
  • JS學(xué)習(xí)筆記(第8章)(BOM

    摘要:間歇調(diào)用和超時(shí)調(diào)用超時(shí)調(diào)用表示在指定時(shí)間后執(zhí)行代碼要執(zhí)行的代碼,以毫秒表示的時(shí)間超時(shí)調(diào)用注意經(jīng)過(guò)一定時(shí)間后改代碼也不一定執(zhí)行,因?yàn)槭且粋€(gè)單線程解釋器,任務(wù)會(huì)按照隊(duì)列執(zhí)行,經(jīng)過(guò)該時(shí)間將任務(wù)添加到隊(duì)列中。 1、window對(duì)象 BOM的核心對(duì)象是window,它表示瀏覽器的一個(gè)實(shí)例。window既是通過(guò)Javascript訪問(wèn)瀏覽器窗口的一個(gè)接口,又是ECMAScript規(guī)定的Global...

    Cruise_Chan 評(píng)論0 收藏0
  • 基礎(chǔ)筆記——JS簡(jiǎn)介和如何在HTML中使用JavaScript

    摘要:作用提供訪問(wèn)和操作網(wǎng)頁(yè)內(nèi)容的方法和接口瀏覽器對(duì)象。部分就好像基于地基設(shè)計(jì)整座房子的布局,則是房子的裝修。如何在中使用方法一直接在網(wǎng)頁(yè)中嵌入代碼你的代碼方法二通過(guò)外部文件鏈接進(jìn)文檔中推薦,并且常用注標(biāo)簽中還有其他屬性,如有需要可查詢手冊(cè)。 JavaScript是一門編程語(yǔ)言,編程語(yǔ)言,編程語(yǔ)言! JavaScript實(shí)現(xiàn)的組成部分 ECMAScript:語(yǔ)言核心。 組成部分:語(yǔ)法,...

    khlbat 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<