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

資訊專欄INFORMATION COLUMN

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

cooxer / 1152人閱讀

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

1 客戶端JavaScript

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

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

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


2.2 腳本類型

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



2.3 URL中的JavaScript(避免使用)

javascript:協議限定符

可以用void操作符強制函數調用或給表達式賦予undefined值

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

w time ist?

書簽

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

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

script標簽可以有defer和async屬性,可以改變腳本的執行方式。這些屬性只在和src屬性聯合使用時才有效:

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

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

3.2 客戶端JavaScript時間線

Web瀏覽器創建Document對象,并開始解析Web頁面,解析html元素和它們的文本內容后添加Element對象和Text節點到文檔中。在這個階段documen.readystate屬性值是“loading”

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

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

當文檔完成解析,document.readyState屬性變成“interactive”。

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

瀏覽器在Document對象上觸發DOMContentLoaded事件。這標志著程序執行從同步腳本執行階段轉換到事件驅動階段。但要注意,這時可能還有異步腳本沒有執行完成

這時,文檔已經完全解析完成,但是瀏覽器可能還在等待其他內容載入,如圖片。當所有這些內容完成載入時,并且所有異步腳本完成載入和執行,document.readyState屬性改變為“complete”,Web瀏覽器觸發Window對象上的load時間。

從此刻起,會調用異步事件,以異步響應用戶輸入事件、網絡事件、計時器過期等。

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 怪異模式和標準測試

document.compatMode屬性,如果為"CSS1Compat",則是在標準模式,如果在"BackCompat或undefined",則是在怪異模式。

4.3 瀏覽器測試

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

4.4 IE里的條件注釋

IE中的條件注釋(Conditionalcomments)對IE的版本和IE非IE有優秀的區分能力,是WEB設計中常用的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
@*/

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79177.html

相關文章

  • 詳解Vue服務端渲染

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

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

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

    k00baa 評論0 收藏0
  • 后端知識點總結——NODE.JS基礎

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

    Freeman 評論0 收藏0

發表評論

0條評論

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