久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    構(gòu)建現(xiàn)代化網(wǎng)站的 20 個技巧

     集微筆記 2013-09-22
    在過去幾年中,我們與web開發(fā)者花了很多時間交流,聽得最多的一件事情就是創(chuàng)建一個能很好的跨越各種類型瀏覽器版本與各種設(shè)備的網(wǎng)站有多么難。我們?yōu)閖Query項目寫代碼的時候一直有這個問題。因此我們整理了20條編碼模式與經(jīng)驗,它們是從出席無休止的會議和讀了幾百篇專稿中摘取出來的。我們希望能在你建站的時候給你節(jié)省一些時間(和麻煩)。

    跨瀏覽器基礎(chǔ)

    網(wǎng)站不需要在所有瀏覽器里渲染得一樣

    一件普遍被開發(fā)者所關(guān)心的事情是確保他們的網(wǎng)站在所有瀏覽器中渲染得一樣,包括非現(xiàn)代的一些。那一般并不需要。更好的路線是考慮逐漸增強(qiáng)你的網(wǎng)站,對非現(xiàn)代瀏覽器的用戶提供一個可靠的工作基線,而給用現(xiàn)代瀏覽器的用戶提供一個更豐富的UI。

    從固體模版開始以簡化開發(fā)

    許多的技巧已經(jīng)創(chuàng)建進(jìn)項目模版如HTML5 Boilerplate 以節(jié)省你一些時間。這些準(zhǔn)則對以現(xiàn)代瀏覽器為目標(biāo)的項目和需要舊瀏覽器(一直回退到IE6)支持的項目工作得一樣好。

    關(guān)注穩(wěn)定的標(biāo)準(zhǔn)

    當(dāng)一個新又酷的特性出現(xiàn)的時候很容易令人興奮,但其中的一些可能仍然在為技術(shù)參數(shù)實驗、仍然在開發(fā)中。重要的是要記得,在規(guī)范發(fā)展的早期是很容易變化的,這有可能影響你的網(wǎng)站的穩(wěn)定性和你的用戶的體驗。通過關(guān)注穩(wěn)定的標(biāo)準(zhǔn),你可以確保你的用戶能獲得他們期望的體驗,你的網(wǎng)站會更易維護(hù)。

    用IE兼容檢測工具幫助你的網(wǎng)站遷移到基于標(biāo)準(zhǔn)的代碼

    標(biāo)準(zhǔn)是IE10的一個核心部分,幫助開發(fā)者遷移他們的代碼以便能發(fā)揮這項長處,這對IE工程項目組來說無比重要。這就是為什么他們創(chuàng)造了IE兼容檢測工具,它能實時分析你的網(wǎng)站,準(zhǔn)確的找到通常問題的類型并給出解決方法。通過在你的代碼中包括一個簡單的JavaScript腳本文件,在你的頁面你就能得到可視化的結(jié)果。它也可以被集成進(jìn)Fidder HTTP 分析工具

    謹(jǐn)慎使用polyfills和shims(模擬標(biāo)準(zhǔn)API)

    如果你必須在不同瀏覽器實現(xiàn)系統(tǒng)的體驗,polyfills和shims提供了代碼和標(biāo)簽,可以幫助模擬標(biāo)準(zhǔn)的API和功能。需要謹(jǐn)記的是,確保你引入的代碼適合你的需要,并且可以在日后維護(hù)。

    開發(fā)時多瀏覽器測試

    盡管相對以前,現(xiàn)代瀏覽器已經(jīng)接近統(tǒng)一標(biāo)準(zhǔn),但還是有不同。偶爾的多瀏覽器測試避免不會在最后一刻發(fā)現(xiàn)大問題——甚至已經(jīng)上線了。確保查看所有瀏覽器調(diào)試器比如IE的F12 Dev Tools,檢查有沒有警告或錯誤信息。一些老瀏覽器比如IE7沒有內(nèi)建調(diào)試器,可以用Firebug Lite調(diào)試。或者使用跨瀏覽器解決方案如BrowserStack

    用工具參與創(chuàng)建過程來檢測錯誤和縮小文件大小

    有好一批創(chuàng)建工具如 HTML validators, CSS validators, UglifyJSHint, 或者 GruntJS ,他們能找到潛在的問題,增強(qiáng)項目代碼的標(biāo)準(zhǔn),減少文件的大小提升性能。如果你的IDE或者代碼編輯器支持它們,這些步驟就不會成為絆腳石。例如,Visual Studio提供了在創(chuàng)建過程中運行外部工具和合并/壓縮腳本文件的能力。

    HTML

    總是使用標(biāo)準(zhǔn)模式避免怪癖模式

    直接用<!DOCTYPE html>吧!現(xiàn)代化網(wǎng)站不需要怪癖模式,不需要考慮90年代中期為了兼容現(xiàn)代化的瀏覽器比如IE6和FireFox 2.大多數(shù)現(xiàn)今的網(wǎng)頁在怪癖模式下要么文檔聲明無效,要么出現(xiàn)無關(guān)文本。很容易導(dǎo)致布局異常,而且很難調(diào)試。

    理解有限向后兼容的HTML標(biāo)簽

    新HTML5標(biāo)簽比如<section>,<header>和<footer>改善標(biāo)簽的語義化,但需要特殊的輔助腳本讓IE6,7和8認(rèn)識他們。頁面在太舊的瀏覽器或者禁止腳本時無法使用HTML5標(biāo)簽,那么使用<div>標(biāo)簽是對這些情況比較靠譜的解決方法。

    將CSS在HTML文件頂部引入

    在文檔body中引入CSS會導(dǎo)致頁面全空,直到CSS加載后才顯示。CSS文件應(yīng)該放在HTML文檔的head中,讓瀏覽器盡早地讀取他們。

    將JS在HTML文件底部引入

    瀏覽器會先檢索、解析和執(zhí)行加載的腳本,然后渲染剩余的頁面內(nèi)容,以防腳本創(chuàng)建新元素。腳本在底部后,瀏覽器可以一直渲染頁面直到腳本加載完全,以便用戶盡快加載頁面顯示出來。

    避免HTML中腳本標(biāo)簽

    不同于引入腳本,腳本標(biāo)簽需要瀏覽器停止渲染(處理腳本),阻礙后續(xù)資源文件的分析和下載。這導(dǎo)致頁面初始加載減慢,甚至留下可怕的“空白頁”體驗。而且腳本分散在內(nèi)聯(lián)標(biāo)簽里很難維護(hù)

    不要在HTML元素中使用內(nèi)聯(lián)腳本事件

    例如<button onclick="validate()">Validate</button>。這種做法違反了標(biāo)簽、表示和行為之間的清爽原則。而且,如果相關(guān)的腳本實在文檔底部加載,用戶可能先點擊了頁面觸發(fā)事件從而嘗試調(diào)用腳本程序,但是其實腳本還沒加載——引發(fā)錯誤!

    CSS

    熟悉和使用CSS級聯(lián)規(guī)則

    簡單的id和class選擇器是好用的,但是這也意味著標(biāo)簽混亂,到處是無法重用的的id和class。應(yīng)該用標(biāo)簽,子元素標(biāo)簽,同列標(biāo)簽和,小部分的id和class標(biāo)簽組合,使css更簡單和通用。避免使用“!imporant”。

    面向未來的使用前綴特定屬性

    新草案制定時,一些瀏覽器廠商會通過添加前綴以實現(xiàn)可能支持的標(biāo)準(zhǔn)。為了確保CSS標(biāo)簽以后可用,帶前綴的和標(biāo)準(zhǔn)的屬性名稱都用上最好。這篇文章還提供了一個JavaScript解決方法。

    用優(yōu)雅的CSS處理兼容性,而不是hack

    CSS hack隨著瀏覽器的更新,顯得不可靠。解決方法是為html或body標(biāo)簽添加特定瀏覽器的class,并在css規(guī)則中使用。條件注釋也可以在特定瀏覽器版本時使用需要的CSS文件。

    JavaScript

    總是將功能探測優(yōu)先于瀏覽器(navigator.userAgent)探測。

    判斷是否存在一個特定功能(或錯誤)時,'userAgent'字符串是一個糟糕的指標(biāo)。更嚴(yán)重的是,解析userAgent的代碼是錯誤的。例如,一個瀏覽器探測庫期待主版本號是一個一位數(shù)字,所以會把Firefox 15報告為Firefox 1,把IE 10報告為IE 1!更可靠的是直接探測功能或問題,并用它作為代碼分支決策的標(biāo)準(zhǔn)。我們推薦Modernizr,它是實現(xiàn)功能探測的最簡單方法。

    盡可能在Ready后立刻執(zhí)行腳本

    技術(shù)上如jQuery的$(document).ready()使腳本在HTML頁面加載完后立即執(zhí)行,也是腳本可以安全執(zhí)行的最早時刻。然而復(fù)雜的腳本會讓頁面顯得遲緩,并阻止用戶立刻操作頁面。所以,一些比如tooltip(提示框),dialog(對話框)在需要顯示時初始化,不造成頁面卡頓。

    如果Ajax關(guān)系用戶交互,越早請求越好

    Ajax請求會花費很長時間,而且不需要等待HTML頁面渲染就可以發(fā)起請求。所以,把$(document).ready()放在Ajax請求完成回調(diào)函數(shù)中更好。

    延遲加載非必要的腳本(如Facebook Like,Google +1,Twitter)。

    所有人都希望他們的網(wǎng)頁在社交網(wǎng)絡(luò)上流行,但是社交網(wǎng)絡(luò)的腳本往往很大,可能會引起用戶響應(yīng)遲緩。請求這些腳本等待頁面加載完畢,可以使頁面響應(yīng)更快。更妙的是,重新考慮這些按鈕是否有必要,以及它們是否改善了你的頁面整體體驗。

      本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 真实国产熟睡乱子伦视频| 久久人搡人人玩人妻精品首页| 久章草在线毛片视频播放| 亚州中文字幕一区二区| 亚洲色大成网站WWW永久麻豆| 亚洲欧美高清在线精品一区二区 | 精品国产品香蕉在线| 日韩免费码中文在线观看| 在线天堂中文官网| 少妇真实被内射视频三四区| 4hu44四虎www在线影院麻豆| 亚洲一区二区精品另类| 制服丝袜美腿一区二区| 成人H动漫精品一区二区无码| 中文字幕在线精品国产| 性虎精品无码AV导航| 久久精品人人做人人爽电影蜜月| 国产亚洲精品第一综合另类无码无遮挡又大又爽又黄的视频 | 国产精品人妻中文字幕| 亚洲AV无码午夜嘿嘿嘿| 久久精品丝袜高跟鞋| 东京热人妻丝袜无码AV一二三区观| 欧美午夜成人片在线观看| 色婷婷在线精品国自产拍| 国产成人高清精品亚洲| 欧美精品亚洲精品日韩专区一乛方| 国产亚洲精品AA片在线爽| 久久人搡人人玩人妻精品首页| 国产99视频精品免费视频36| 精精国产XXXX视频在线播放| 国产AV老师黑色丝袜美腿| 亚洲真人无码永久在线| 国产三级精品三级| 国产黑色丝袜在线观看下| 四虎在线播放亚洲成人| 老师在办公室被躁在线观看| 激情五月开心婷婷深爱 | CHINESETUBE国产在线观看| 疯狂做受XXXX高潮国产| 日韩深夜视频在线观看| 国内精品自线在拍|