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

資訊專欄INFORMATION COLUMN

客戶端JS——“Web瀏覽器中的JS”

cooxer / 1185人閱讀

摘要:在這個階段屬性值是當(dāng)解析器遇到?jīng)]有和屬性的元素時,它把這些元素添加到文檔中,然后執(zhí)行行內(nèi)或外部腳本。這些腳本會同步執(zhí)行,并且在腳本下載如果需要和執(zhí)行時解析器會暫停。解析器恢復(fù)時這些文本會成為文檔的一部分。瀏覽器在對象上觸發(fā)事件。

1 客戶端JavaScript

window對象自身也有一個名為window的屬性,指向window對象

window.window.window.location.pathname;
2 在HTML里嵌入JavaScript 2.1 script元素

在XHTML中使用JavaScript,則需要放到一個CDATA部分:


2.2 腳本類型

把type屬性設(shè)置為瀏覽器不能識別的值,即可在html頁面中嵌入任意文本內(nèi)容。



2.3 URL中的JavaScript(避免使用)

javascript:協(xié)議限定符

可以用void操作符強制函數(shù)調(diào)用或給表達式賦予undefined值

它被當(dāng)做一個多帶帶的一行代碼對待,語句之間必須用分號隔開。

w time ist?

書簽

書簽就是一個保存起來的URL。如果書簽是javascript:URL,那么保存的就是一小段腳本,叫做bookmarklet。只要書簽不返回值,它就可以操作當(dāng)前顯示的任何文檔。

3 JavaScript程序的執(zhí)行 3.1 同步、異步和延遲的腳本

script標(biāo)簽可以有defer和async屬性,可以改變腳本的執(zhí)行方式。這些屬性只在和src屬性聯(lián)合使用時才有效:

async 屬性規(guī)定一旦腳本可用,則會異步執(zhí)行。async 屬性僅適用于外部腳本(只有在使用 src 屬性時)。

defer 屬性規(guī)定是否對腳本執(zhí)行進行延遲,直到頁面加載為止。

3.2 客戶端JavaScript時間線

Web瀏覽器創(chuàng)建Document對象,并開始解析Web頁面,解析html元素和它們的文本內(nèi)容后添加Element對象和Text節(jié)點到文檔中。在這個階段documen.readystate屬性值是“l(fā)oading”

當(dāng)HTML解析器遇到?jīng)]有async和defer屬性的script元素時,它把這些元素添加到文檔中,然后執(zhí)行行內(nèi)或外部腳本。這些腳本會同步執(zhí)行,并且在腳本下載(如果需要)和執(zhí)行時解析器會暫停。這樣腳本就可以用documen.wrte()來把文本插入到輸入流中。解析器恢復(fù)時這些文本會成為文檔的一部分。同步腳本經(jīng)常簡單定義函數(shù)和注冊后面使用的注冊時間處理程序,但他們可以遍歷和操作文檔樹,因為在他們執(zhí)行時已經(jīng)存在了。這樣,同步腳本可以看到它自己的script元素和它們之前的文檔內(nèi)容。

當(dāng)解析器遇到設(shè)置了async屬性的script元素時,它開始下載腳本文本,并繼續(xù)解析文檔。腳本會在它下載完成后盡快執(zhí)行,但是解析器沒有停下來等它下載。異步腳本禁止使用document.write()方法。它們可以看到自己的script元素和它之前的所有文檔元素,并且可能或干脆不可能訪問其他的文檔內(nèi)容。

當(dāng)文檔完成解析,document.readyState屬性變成“interactive”。

所有有defer屬性的腳本,會桉它們在文檔里的出現(xiàn)順序執(zhí)行。異步腳本可能也會在這個時間執(zhí)行。延遲腳本能訪問完整的文檔樹,禁止使用document.write()方法。

瀏覽器在Document對象上觸發(fā)DOMContentLoaded事件。這標(biāo)志著程序執(zhí)行從同步腳本執(zhí)行階段轉(zhuǎn)換到事件驅(qū)動階段。但要注意,這時可能還有異步腳本沒有執(zhí)行完成

這時,文檔已經(jīng)完全解析完成,但是瀏覽器可能還在等待其他內(nèi)容載入,如圖片。當(dāng)所有這些內(nèi)容完成載入時,并且所有異步腳本完成載入和執(zhí)行,document.readyState屬性改變?yōu)椤癱omplete”,Web瀏覽器觸發(fā)Window對象上的load時間。

從此刻起,會調(diào)用異步事件,以異步響應(yīng)用戶輸入事件、網(wǎng)絡(luò)事件、計時器過期等。

4 兼容性和互用性 4.1 功能測試

常見的功能測試:

if (element.addEventListener) {
    element.addEventListener("keydown", handler, false);
    element.addEventListener("keypress", handler, false);
} else if (element.attachEvent) {
    element.attachEvent("onkeydown", handler);
    element.attachEvent("onkeypress", handler);
} else {
    element.onkeydown = element.onkeypress = handler;
}
4.2 怪異模式和標(biāo)準(zhǔn)測試

document.compatMode屬性,如果為"CSS1Compat",則是在標(biāo)準(zhǔn)模式,如果在"BackCompat或undefined",則是在怪異模式。

4.3 瀏覽器測試

早前通常需要做瀏覽器測試,即使用Navigator對象。

4.4 IE里的條件注釋

IE中的條件注釋(Conditionalcomments)對IE的版本和IE非IE有優(yōu)秀的區(qū)分能力,是WEB設(shè)計中常用的hack方法。

條件注釋只能用于IE5以上。

gt :greater than,選擇條件版本以上版本,不包含條件版本

lt : lessthan,選擇條件版本以下版本,不包含條件版本

gte :greater than or equal,選擇條件版本以上版本,包含條件版本

lte :less than or equal,選擇條件版本以下版本,包含條件版本

! : 選擇條件版本以外所有版本,無論高低

使用方法:

您使用不是Internet Explorer

您正在使用InternetExplorer version 6或者一個非IE 瀏覽器

IE的JavaScript解釋器也支持條件注釋:

/*@cc_on
@if(@_jscript)
alert("You are using Internet Explorer");
@else*/
alert("you are not using Internet Explorer");
/*@end
@*/

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

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

相關(guān)文章

  • 詳解Vue服務(wù)端渲染

    摘要:二服務(wù)端渲染初體驗使用的服務(wù)端渲染功能,需要引入提供的服務(wù)端渲染模塊,其作用是創(chuàng)建一個渲染器,該渲染器可以將實例渲染成字符串。 詳解Vue服務(wù)端渲染 一、服務(wù)端渲染 - 簡介 所謂服務(wù)端渲染就是將代碼的渲染交給服務(wù)器,服務(wù)器將渲染好的html字符串返回給客戶端,再由客戶端進行顯示。 服務(wù)器端渲染的優(yōu)點 有利于SEO搜索引擎優(yōu)化,因為服務(wù)端渲染是將渲染好的html字符串返回給了客戶端,...

    Paul_King 評論0 收藏0
  • 5個提高Node.js應(yīng)用性能的技巧

    摘要:如果你有一個高流量的站點,提高性能的第一步是在你的前面放一個反向代理服務(wù)器。使用在一個已經(jīng)存在的服務(wù)器前做反向代理,作為的一個核心應(yīng)用,已經(jīng)被用于全世界成千上萬的站點中。 如果你的 node 服務(wù)器前面沒有 nginx, 那么你可能做錯了?!?Bryan Hughes Node.js 是使用 最流行的語言— JavaScript 構(gòu)建服務(wù)器端應(yīng)用的領(lǐng)先工具 。由于可以同時提供 web ...

    k00baa 評論0 收藏0
  • 后端知識點總結(jié)——NODE.JS基礎(chǔ)

    摘要:后端知識點總結(jié)基礎(chǔ)不是是一種軟件開發(fā)平臺,它的競爭對象歷史第一次有一種語言可以通吃前后端網(wǎng)站阿里云鏡像版本年初年中年底最新版本功能強大可靠,適合大型企業(yè)級項目簡單易用適合互聯(lián)網(wǎng)項目易用適合平臺性能好適合服務(wù)器端密集型項目不適合密集型項目密集 后端知識點總結(jié)——NODE.JS基礎(chǔ) 1.Node.js Node.js不是JS,是一種軟件開發(fā)平臺,它的競爭對象JSP/PHP/ASP.NET...

    Freeman 評論0 收藏0

發(fā)表評論

0條評論

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