关键词1 关键词2

西安办证 西安办理证件

js骞惰鍔犺浇锛岄『搴忔墽琛 – I'm Png

I'm Png

{ 浜掕仈缃戯紝浜у搧锛屾妧鏈紝浠g爜锛屽巻鍙 }

js骞惰鍔犺浇锛岄『搴忔墽琛

<script>杩愯鑴氭湰鎴栧姞杞藉閮ㄦ枃浠舵椂锛屼細闃诲椤甸潰娓叉煋锛岄樆濉炲叾浠栬祫婧愮殑鍔犺浇銆傚鏋滈〉闈腑闇瑕佸姞杞藉涓猨s鏂囦欢锛屽湪鍙よ佹祻瑙堝櫒涓ц兘浼氭瘮杈冪碂绯曘 鍥犳鏈変簡鏈鍘熷鐨勪紭鍖栧師鍒欙細鎶婅剼鏈斁鍦ㄥ簳閮

濡備綍瀹炵幇js闈為樆濉炪佸苟琛屽姞杞斤紝鐢氳嚦鑳戒繚鎸佹墽琛岄『搴忓憿锛熷悇娴忚鍣ㄨ〃鐜板浣曪紵绔欏湪宸ㄤ汉鐨勮偐鑶涓婏紝Kyle SimpsonNicholas C. ZakasSteve Souders瀵规鏈夎繃鎬荤粨鍜屾柟妗堛

鑳屾櫙

1. Script DOM Element銆 鍔ㄦ佹彃鍏<script>锛屼笉浼氶樆濉烇紝浣嗘棤娉曚繚鎸佹墽琛岄『搴忋備絾鍞湁Firefox鍙互淇濇寔鎵ц椤哄簭锛屼絾涔熷樊鐐瑰湪Firefox 4 nightly鐨勭増鏈腑鍘绘帀杩欎釜鐗规с

2. HTML5 async 闈為樆濉烇紝鍔犺浇瀹屽悗绔嬪嵆鎵ц锛屼笉淇濊瘉椤哄簭銆傝繖涓睘鎬т笉绠℃湁娌℃湁鍊笺佸间负true鎴杅alse锛岄兘鏄瓑鍚岀殑鏁堟灉锛堢敱浜嶬yle鐨勬帹杩涳紝涓嶈兘淇濊瘉鎵ц椤哄簭涓庡叾鍊兼棤鍏充簡锛夈

Google Analytics鐨勬柊鐗堝祵鍏ヤ唬鐮佸氨缁撳悎浣跨敤浜嗕笂闈袱涓柟妗堬紝濡傦細

var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www')
          + '.google-analytics.com/ga.js';

var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);

3. IE defer灞炴с備笉闃诲锛屽彲浠ヤ繚璇侀『搴忥紝鍦―OM鍔犺浇瀹屾垚鍚庢墽琛岋紙鍦―OMContentLoaded涔嬪墠锛夈

4. <script>鐨則ype灞炴ц涓”script/cache” 闈炴爣鍑嗙殑type灞炴э紝浣縥s鏂囦欢鍙細琚姞杞借屼笉浼氭墽琛屻傞渶瑕佹墽琛屾椂锛屽垱寤轰竴涓猼ype灞炴т负”text/javascript”鐨勬甯<script>鍏冪礌锛宻rc璁句负鍓嶉潰宸茬粡鍔犺浇鐨刯s鍦板潃鍗冲彲锛屾墽琛岄『搴忓紑鍙戣呭彲鎺э紙鎵ц鏃舵満涔熷畬鍏ㄥ彲鎺э級銆傜被浼肩殑鏂瑰紡涔熸湁閫氳繃<img>鏉ュ仛棰勫姞杞界殑銆

5. document.write銆傛枃妗f祦鍏抽棴鍚庢墽琛屼細娓呯┖鏁翠釜椤甸潰銆

6. XHR 骞惰鍔犺浇锛屾墽琛岄『搴忓彲鎺э紝浣嗘湁鍚屽煙闄愬埗銆

鍩烘湰闇姹

Steve Souders 鍜 Nicholas C. Zakas 涓璧锋荤粨浜嗕笅锛岃涓js鍔犺浇鏂规蹇呴』瑙e喅浠ヤ笅闂

  1. 鏀寔鐗规ф娴
  2. 涓嶄細閲嶅鍔犺浇
  3. 鏀寔骞惰鍔犺浇

寮鍙戣呯殑缇庡ソ鎰挎湜

Nicholas C. Zakas 鍑犵粡鍛ㄦ姌锛屾湁浜嗕互涓嬬殑鎻愭锛鍒嗙js鐨勫姞杞藉拰鎵ц锛屾柟渚垮紑鍙戣呰嚜鐢辨帶鍒秊s鐨勬墽琛屾椂闂淬

var script = document.createElement("script");

// 姝ゅ睘鎬т粎鍙敱js鍔ㄦ佸啓鍏ワ紝鍦℉TML鏍囩涓洿鎺ュ啓鍏ユ棤鏁
script.preload = true;

// src璧嬪煎悗锛岀珛鍗宠Е鍙戝姞杞斤紙浠呭姞杞斤紝涓嶄細鎵цjs鍐呭锛
script.src = "foo.js";

// onpreload鏄渶瑕佹柊鏀寔鐨勪簨浠讹紝鍔犺浇瀹屾垚鍚庤Е鍙戞浜嬩欢
script.onpreload = function(){
    // 鍦ㄩ渶瑕佹椂锛屽皢鍔犺浇鐨刯s鎻掑叆鍒癉OM涓紝鍗冲彲杩愯鐢熸晥
    document.body.appendChild(script);
};

鍩轰簬鐗规ф娴媐eature detection锛堝尯鍒簬鐗规ф帹娴媐eature inference锛

var isPreloadSupported = (typeof script.preload == “boolean”);

杩欎竴鐗规у彧鏈夊湪Javascript涓姩鎬佽祴鍊兼椂鐢熸晥锛岀洿鎺ュ啓鍒癏TML鏍囩涓婃椂鏄棤鏁堢殑銆

浣嗚繖鍙槸涓涓彁妗堬紝寮鍙戣呬滑鐨勭編濂芥効鏈涳紝鑰岄潪琚祻瑙堝櫒鏀寔鐨勬爣鍑嗐傜洰鍓嶈繖涓鎻愭宸插湪LABjs涓敮鎸侊紝Zakas鏈汉涔熷湪绉瀬鎺ㄨ繘姝ゆ彁妗堢殑鏍囧噯鍖栥

鑰孠yle鍦ㄦ帹杩涘彟澶栦竴绉嶆柟寮忥紝鍗宠姹瀵瑰惈鏈夊睘鎬sync=false鐨<script>淇濇寔鎵ц椤哄簭銆傚鏋渁sync=true锛屽垯涓鏃﹀姞杞藉畬鍒欎細椹笂鎵ц鑴氭湰锛屼笉浼氫弗鏍间繚鎸侀『搴忋傞粯璁ゅ湴锛岄〉闈腑鐨<script>鐨刟sync灞炴т负false锛屽嵆淇濇寔鎵ц椤哄簭锛沯s鍒涘缓鐨<script>鐨刟sync灞炴т负true锛屽嵆鍔犺浇瀹岀珛鍗虫墽琛岋紝涓嶄繚璇侀『搴忋

涓轰簡鏀寔鐗规ф娴嬶紝涓涓敱js鍒涘缓鐨<script>鏍囩榛樿鍏锋湁async=true鐨勫睘鎬с

Kyle鐨勮繖涓鎻愭宸茶HTML5灏忕粍鎺ュ彈鏀惧叆鑽夋锛屽湪Firefox 4 nightly鐗堟湰涓殑涔熷凡瀹炵幇銆

Firefox 4涓轰簡鏇村悜HTML5鏍囧噯鐪嬮綈锛屼竴搴﹀湪寮鍙戣呯増鏈腑鍘绘帀浜嗗鍔ㄦ佸垱寤<script>鏉ュ姞杞絡s鏂囦欢鐨勬墽琛岄『搴忔敮鎸

<script> elements created using document.createElement() and inserted into a document now behave according to the HTML5 specification by default. Scripts with the src attribute execute as soon as available (without maintaining ordering) and scripts without the src attribute execute synchronously.

涓烘锛Kyle鍚慦ebKit寮鍙戝洟闃熸姉璁紝鎻愪簡涓涓猙ug锛屾渶缁堝緱鍒颁簡濡備粬鎵鎰跨殑鏀寔锛

To make script-inserted scripts that have the src attribute execute in the insertion order, set .async=false on them.

Zakas寰堟璧廗yle鐨勬柟妗堬紝Kyle鍦↙ABjs涓篃鏀寔浜哯akas鐨勬彁璁紝鍚勬祻瑙堝櫒浠篃杩欎箞鍜岃皭灏卞ソ浜嗐

鐜版湁瑙e喅鏂规

LABJS
浣滆咃細Kyle Simpson
鐗圭偣锛氬苟琛屽姞杞斤紝骞朵繚鎸侀『搴
涓昏鏂规锛歛sync=false銆乸reonload鏂版彁妗堢殑鏀寔锛屼互鍙婂吋瀹瑰悇娴忚鍣ㄧ殑鏂规锛岀淮鎶ゆ垚鏈笉灏忋

ControlJS
浣滆咃細Steve Souders
鐗圭偣锛氬苟琛屽姞杞斤紝鏃犻『搴忎繚璇
涓昏鏂规锛<script type=”text/cache”>

绫诲埆: Web寮鍙

Tags: ControlJS,execution order,LABjs,maintain ordering,non-blocking,parallel download,淇濇寔鎵ц椤鸿,骞惰鍔犺浇,闈為樆濉,

damon pang

Damon Pang impng.p#gmail.com

web鍓嶇寮鍙戯紝鐖辩數褰憋紝鐖監ne Piece.

友情链接: 走私车 套牌车 黑车 抵押车 走私车 套牌车 黑车 抵押车