Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 天天爱天天操天天干,亚洲国产精品67194成人,日本在线一区二区三区

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          使用Modernizr進行特征檢測實現跨瀏覽器兼容性

          們深入研究了Modernizr框架的工作原理,這是開發人員工具包中用于跨瀏覽器兼容性的絕佳選擇。

          Modernizr是一個開源和緊湊的 JavaScript庫 ,允許開發人員在跨瀏覽器兼容性方面為用戶創建各種級別的體驗。Modernizr幫助開發人員執行跨瀏覽器測試,以檢查 訪問者的瀏覽器本身是否支持新一代 HTML5和CSS3功能,并為舊版瀏覽器提供專用的后備功能,這些瀏覽器因其功能支持不佳而臭名昭著。Modernizr與漸進增強的原理相結合, 有助于逐層設計尖端網站,利用強大的現代Web技術,而不會丟棄仍在使用IE等舊版瀏覽器的用戶。

          Modernizr如何運作?

          Modernizr于2009年7月由FarukAte?推出,以統一,標準化的方式解決跨瀏覽器兼容性問題。今天,Modernizr作為特征檢測庫是最受歡迎的JavaScript庫之一,提供超過270個測試,并且正在全球8.76%的網站中使用(僅在美國就有50萬個網站)。而不是依賴于使用“用戶代理”嗅探的高度不可靠的瀏覽器檢測方法,而Modernizr則基于特征檢測。雖然瀏覽器檢測的中心問題是“訪問者使用的瀏覽器是什么?”功能檢測圍繞著這個問題,

          對于特征檢測,Modernizr執行三個基本功能:

          • 添加指示功能支持的類,可用于有條件地將CSS樣式規則應用于不同的元素。
          • 創建一個JavaScript對象,以檢查或驗證對瀏覽器中任何HTML或CSS功能的支持。
          • 允許開發人員有條件地提供自定義JS腳本或polyfill來模仿缺少的功能。

          重要的是要記住,使用Modernizr進行特征檢測只能檢測支持哪些功能。它無法為舊版瀏覽器中不受支持的功能提供功能。這是通過“polyfilling”實現的,我們將在本博客后面討論。

          我還寫了另一個博客,它代表使用 @support 功能查詢來執行 CSS功能檢測以實現跨瀏覽器兼容性。

          設置Modernizr進行特征檢測

          1.要使用Modernizr執行特征檢測,您需要將Modernizr.js文件添加到項目中。這可以通過兩種方式完成:

          • 從網站下載:
          • 訪問 官方網站 以構建和下載JavaScript文件。單擊“添加檢測”以根據項目需要手動選擇所需的功能,或單擊“開發構建”以重定向到構建頁面,并預先選擇所有測試/檢測選項。單擊 構建按鈕 以下載文件。

          • 使用npm和命令行
          • 也可以使用節點包管理器或npm安裝Modernizr。你可以在這里安裝npm 。安裝npm后,打開命令行并輸入:

          npm install -g modernizr

          2.現在將下載的Modernizr文件包含在頁面部分中。

          <script src="modernizr-custom.js"></script>

          3.將“no-js”類添加到<html>標記中。

          <!DOCTYPE html>

          <html class="no-js">

          <head>

          <script src="modernizr-custom.js">

          </script>

          </head>

          no-js 如果用戶在瀏覽器中禁用了JavaScript或瀏覽器本身不支持JavaScript,則此類 是必要的后備。加載頁面后,如果瀏覽器支持JavaScript, 則Modernizr會自動no-js 將js類替換為 類以進行特征檢測。

          4. Modernizr在根<html>元素上添加了幾個CSS類。這些類是根據瀏覽器的功能(功能/無功能)添加的 - 為支持的功能添加了類,并為添加的類添加了no- 不支持的功能的 前綴。

          例如,如果瀏覽器支持Flexbox,則 flexbox 該類將添加到<html>標記中。如果不支持, no-flexbox 則添加類。

          Modernizr為IE9中的特征檢測測試添加了<html>標記的類

          <html class="js no-flexbox canvas canvastext no-webgl no-touch geolocation postmessage no-websqldatabase no-indexeddb hashchange no-history draganddrop no-websockets rgba hsla multiplebgs backgroundsize no-borderimage borderradius boxshadow no-textshadow opacity no-cssanimations no-csscolumns no-cssgradients no-cssreflections csstransforms no-csstransforms3d no-csstransitions fontface generatedcontent video audio localstorage sessionstorage no-webworkers no-applicationcache svg inlinesvg smil svgclippaths">

          利用Modernizr進行CSS特征檢測

          Modernizr將這些類添加到<html>標記中,以根據給定瀏覽器是否支持某個功能來檢測CSS樣式屬性。具有no- 前綴的類 將自動應用于不支持這些相應功能的瀏覽器中。

          例如,如果box-shadow 瀏覽器支持該 屬性,則 boxshadow Modernizr類將添加到<html>標記中。如果不支持,則 no-boxshadow 添加Modernizr類。我們可以使用這兩個CSS類來有效地定位所有瀏覽器,而不管它們對這個特定功能的支持。本 .boxshadow 類可以用來風格 box-shadow 圍繞一個div水平偏移和垂直的10px的,8像素的模糊,以及所有支持的瀏覽器和15px的蔓延抵消 .no_boxshadow 類可用于較厚的邊框寬度,以彌補缺乏編寫一個回退所有不受支持的瀏覽器的任何陰影。

          .boxshadow #box {

          border: 2px solid black;

          -webkit-box-shadow: 10px 10px 8px 10px #888888;

          -moz-box-shadow: 10px 10px 8px 10px #888888;

          }

          TML5 是第五個且是當前的 HTML 版本,它是用于在萬維網上構建和呈現內容的標記語言。本文將幫助讀者了解它。 -- Palak Shah

          本文導航
          • -新標簽和元素 …… 08%

          • -HTML5 的高級功能 …… 16%

          • -地理位置 …… 16%

          • -網絡存儲 …… 33%

          • -應用緩存(AppCache) …… 44%

          • -視頻 …… 50%

          • -音頻 …… 61%

          • -畫布(Canvas) …… 71%

          • -HTML5 工具 …… 78%

          編譯自: http://opensourceforu.com/2017/06/introduction-to-html5/

          作者: Palak Shah

          譯者: geekpi

          HTML5 是第五個且是當前的 HTML 版本,它是用于在萬維網上構建和呈現內容的標記語言。本文將幫助讀者了解它。

          HTML5 通過 W3C 和Web 超文本應用技術工作組Web Hypertext Application Technology Working Group之間的合作發展起來。它是一個更高版本的 HTML,它的許多新元素可以使你的頁面更加語義化和動態。它是為所有人提供更好的 Web 體驗而開發的。HTML5 提供了很多的功能,使 Web 更加動態和交互。

          HTML5 的新功能是:

          • 新標簽,如 <header> 和 <section>

          • 用于 2D 繪圖的 <canvas> 元素

          • 本地存儲

          • 新的表單控件,如日歷、日期和時間

          • 新媒體功能

          • 地理位置

          HTML5 還不是正式標準(LCTT 譯注:HTML5 已于 2014 年成為“推薦標準”),因此,并不是所有的瀏覽器都支持它或其中一些功能。開發 HTML5 背后最重要的原因之一是防止用戶下載并安裝像 Silverlight 和 Flash 這樣的多個插件。

          新標簽和元素

          • 語義化元素: 圖 1 展示了一些有用的語義化元素。

          • 表單元素: HTML5 中的表單元素如圖 2 所示。

          • 圖形元素: HTML5 中的圖形元素如圖 3 所示。

          • 媒體元素: HTML5 中的新媒體元素如圖 4 所示。

          圖 1:語義化元素

          圖 2:表單元素

          圖 3:圖形元素

          圖 4:媒體元素

          HTML5 的高級功能

          地理位置

          這是一個 HTML5 API,用于獲取網站用戶的地理位置,用戶必須首先允許網站獲取他或她的位置。這通常通過按鈕和/或瀏覽器彈出窗口來實現。所有最新版本的 Chrome、Firefox、IE、Safari 和 Opera 都可以使用 HTML5 的地理位置功能。

          地理位置的一些用途是:

          • 公共交通網站

          • 出租車及其他運輸網站

          • 電子商務網站計算運費

          • 旅行社網站

          • 房地產網站

          • 在附近播放的電影的電影院網站

          • 在線游戲

          • 網站首頁提供本地標題和天氣

          • 工作職位可以自動計算通勤時間

          工作原理: 地理位置通過掃描位置信息的常見源進行工作,其中包括以下:

          • 全球定位系統(GPS)是最準確的

          • 網絡信號 - IP地址、RFID、Wi-Fi 和藍牙 MAC地址

          • GSM/CDMA 蜂窩 ID

          • 用戶輸入

          該 API 提供了非常方便的函數來檢測瀏覽器中的地理位置支持:

          if (navigator.geolocation) {

          // do stuff

          }

          getCurrentPosition API 是使用地理位置的主要方法。它檢索用戶設備的當前地理位置。該位置被描述為一組地理坐標以及航向和速度。位置信息作為位置對象返回。

          語法是:

          getCurrentPosition(showLocation, ErrorHandler, options);
          • showLocation:定義了檢索位置信息的回調方法。

          • ErrorHandler(可選):定義了在處理異步調用時發生錯誤時調用的回調方法。

          • options (可選): 定義了一組用于檢索位置信息的選項。

          我們可以通過兩種方式向用戶提供位置信息:測地和民用。

          1. 描述位置的測地方式直接指向緯度和經度。

          2. 位置信息的民用表示法是人類可讀的且容易理解。

          如下表 1 所示,每個屬性/參數都具有測地和民用表示。

          圖 5 包含了一個位置對象返回的屬性集。

          圖5:位置對象屬性

          網絡存儲

          在 HTML 中,為了在本機存儲用戶數據,我們需要使用 JavaScript cookie。為了避免這種情況,HTML5 已經引入了 Web 存儲,網站利用它在本機上存儲用戶數據。

          與 Cookie 相比,Web 存儲的優點是:

          • 更安全

          • 更快

          • 存儲更多的數據

          • 存儲的數據不會隨每個服務器請求一起發送。只有在被要求時才包括在內。這是 HTML5 Web 存儲超過 Cookie 的一大優勢。

          有兩種類型的 Web 存儲對象:

          1. 本地 - 存儲沒有到期日期的數據。

          2. 會話 - 僅存儲一個會話的數據。

          如何工作: localStorage 和 sessionStorage 對象創建一個 key=value 對。比如: key="Name", value="Palak"。

          這些存儲為字符串,但如果需要,可以使用 JavaScript 函數(如 parseInt() 和 parseFloat())進行轉換。

          下面給出了使用 Web 存儲對象的語法:

          • 存儲一個值:

          • localStorage.setItem("key1", "value1");

          • localStorage["key1"] = "value1";

          • 得到一個值:

          • alert(localStorage.getItem("key1"));

          • alert(localStorage["key1"]);

          • 刪除一個值: -removeItem("key1");

          • 刪除所有值:

          • localStorage.clear();

          應用緩存(AppCache)

          使用 HTML5 AppCache,我們可以使 Web 應用程序在沒有 Internet 連接的情況下脫機工作。除 IE 之外,所有瀏覽器都可以使用 AppCache(截止至此時)。

          應用緩存的優點是:

          • 網頁瀏覽可以脫機

          • 頁面加載速度更快

          • 服務器負載更小

          cache manifest 是一個簡單的文本文件,其中列出了瀏覽器應緩存的資源以進行脫機訪問。 manifest 屬性可以包含在文檔的 HTML 標簽中,如下所示:

          <html manifest="test.appcache">

          ...

          </html>

          它應該在你要緩存的所有頁面上。

          緩存的應用程序頁面將一直保留,除非:

          1. 用戶清除它們

          2. manifest 被修改

          3. 緩存更新

          視頻

          在 HTML5 發布之前,沒有統一的標準來顯示網頁上的視頻。大多數視頻都是通過 Flash 等不同的插件顯示的。但 HTML5 規定了使用 video 元素在網頁上顯示視頻的標準方式。

          目前,video 元素支持三種視頻格式,如表 2 所示。

          下面的例子展示了 video 元素的使用:

          <! DOCTYPE HTML>

          <html>

          <body>

          <video src=" vdeo.ogg" width="320" height="240" controls="controls">

          This browser does not support the video element.

          </video>

          </body>

          </html>

          例子使用了 Ogg 文件,并且可以在 Firefox、Opera 和 Chrome 中使用。要使視頻在 Safari 和未來版本的 Chrome 中工作,我們必須添加一個 MPEG4 和 WebM 文件。

          video 元素允許多個 source 元素。source 元素可以鏈接到不同的視頻文件。瀏覽器將使用第一個識別的格式,如下所示:

          <video width="320" height="240" controls="controls">

          <source src="vdeo.ogg" type="video/ogg" />

          <source src=" vdeo.mp4" type="video/mp4" />

          <source src=" vdeo.webm" type="video/webm" />

          This browser does not support the video element.

          </video>

          圖6:Canvas 的輸出

          音頻

          對于音頻,情況類似于視頻。在 HTML5 發布之前,在網頁上播放音頻沒有統一的標準。大多數音頻也通過 Flash 等不同的插件播放。但 HTML5 規定了通過使用音頻元素在網頁上播放音頻的標準方式。音頻元素用于播放聲音文件和音頻流。

          目前,HTML5 audio 元素支持三種音頻格式,如表 3 所示。

          audio 元素的使用如下所示:

          <! DOCTYPE HTML>

          <html>

          <body>

          <audio src=" song.ogg" controls="controls">

          This browser does not support the audio element.

          </video>

          </body>

          </html>

          此例使用 Ogg 文件,并且可以在 Firefox、Opera 和 Chrome 中使用。要在 Safari 和 Chrome 的未來版本中使 audio 工作,我們必須添加一個 MP3 和 Wav 文件。

          audio 元素允許多個 source 元素,它可以鏈接到不同的音頻文件。瀏覽器將使用第一個識別的格式,如下所示:

          <audio controls="controls">

          <source src="song.ogg" type="audio/ogg" />

          <source src="song.mp3" type="audio/mpeg" />

          This browser does not support the audio element.

          </audio>

          畫布(Canvas)

          要在網頁上創建圖形,HTML5 使用 畫布 API。我們可以用它繪制任何東西,并且它使用 JavaScript。它通過避免從網絡下載圖像而提高網站性能。使用畫布,我們可以繪制形狀和線條、弧線和文本、漸變和圖案。此外,畫布可以讓我們操作圖像中甚至視頻中的像素。你可以將 canvas 元素添加到 HTML 頁面,如下所示:

          <canvas id="myCanvas" width="200" height="100"></canvas>

          畫布元素不具有繪制元素的功能。我們可以通過使用 JavaScript 來實現繪制。所有繪畫應在 JavaScript 中。

          <script type="text/javascript">

          var c=document.getElementById("myCanvas");

          var cxt=c.getContext("2d");

          cxt.fillStyle="blue";

          cxt.storkeStyle = "red";

          cxt.fillRect(10,10,100,100);

          cxt.storkeRect(10,10,100,100);

          </script>

          以上腳本的輸出如圖 6 所示。

          你可以繪制許多對象,如弧、圓、線/垂直梯度等。

          HTML5 工具

          為了有效操作,所有熟練的或業余的 Web 開發人員/設計人員都應該使用 HTML5 工具,當需要設置工作流/網站或執行重復任務時,這些工具非常有幫助。它們提高了網頁設計的可用性。

          以下是一些幫助創建很棒的網站的必要工具。

          • HTML5 Maker: 用來在 HTML、JavaScript 和 CSS 的幫助下與網站內容交互。非常容易使用。它還允許我們開發幻燈片、滑塊、HTML5 動畫等。

          • Liveweave: 用來測試代碼。它減少了保存代碼并將其加載到屏幕上所花費的時間。在編輯器中粘貼代碼即可得到結果。它非常易于使用,并為一些代碼提供自動完成功能,這使得開發和測試更快更容易。

          • Font dragr: 在瀏覽器中預覽定制的 Web 字體。它會直接載入該字體,以便你可以知道看起來是否正確。也提供了拖放界面,允許你拖動字形、Web 開放字體和矢量圖形來馬上測試。

          • HTML5 Please: 可以讓我們找到與 HTML5 相關的任何內容。如果你想知道如何使用任何一個功能,你可以在 HTML Please 中搜索。它提供了支持的瀏覽器和設備的有用資源的列表,語法,以及如何使用元素的一般建議等。

          • Modernizr: 這是一個開源工具,用于給訪問者瀏覽器提供最佳體驗。使用此工具,你可以檢測訪問者的瀏覽器是否支持 HTML5 功能,并加載相應的腳本。

          • Adobe Edge Animate: 這是必須處理交互式 HTML 動畫的 HTML5 開發人員的有用工具。它用于數字出版、網絡和廣告領域。此工具允許用戶創建無瑕疵的動畫,可以跨多個設備運行。

          • Video.js: 這是一款基于 JavaScript 的 HTML5 視頻播放器。如果要將視頻添加到你的網站,你應該使用此工具。它使視頻看起來不錯,并且是網站的一部分。

          • The W3 Validator: W3 驗證工具測試 HTML、XHTML、SMIL、MathML 等中的網站標記的有效性。要測試任何網站的標記有效性,你必須選擇文檔類型為 HTML5 并輸入你網頁的 URL。這樣做之后,你的代碼將被檢查,并將提供所有錯誤和警告。

          • HTML5 Reset: 此工具允許開發人員在 HTML5 中重寫舊網站的代碼。你可以使用這些工具為你網站的訪問者提供一個良好的網絡體驗。


          Palak Shah

          作者是高級軟件工程師。她喜歡探索新技術,學習創新概念。她也喜歡哲學。你可以通過 palak311@gmail.com[1] 聯系她。


          via: http://opensourceforu.com/2017/06/introduction-to-html5/

          作者:Palak Shah[2] 譯者:geekpi 校對:wxy

          本文由 LCTT 原創編譯,Linux中國 榮譽推出

          點擊“了解更多”可訪問文內鏈接

          信我或關注微信號:猿來如此呀,回復:學習,獲取免費學習資源包。

          HTML5規范開發完成時,將成為主流。據統計2013年全球有10億手機瀏覽器支持HTML5,同時HTML Web開發者數量將達到200萬。毫無疑問,HTML5將成為未來5-10年內,移動互聯網領域的主宰者。

          毋庸置疑,HTML5已經改變了我們的percieve在線網站、應用程序和內容。它是如此的先進,以至于許許多多的瀏覽器期望使用上HTML5的最新功能,然而這需要很長時間來計劃以及實施。如果你之前有與網絡相關的腳本經驗,那么學習HTML5可能并不是一件非常難的事情。

          然而,視圖找到最完美的HTML5 Web框架是一件非常困難的事情。今天小編就為大家推薦幾款應用比較廣泛的Web框架,希望對各位HTML5開發人員有一定的幫助。讓我們一起來看看吧!


          1、Siimpler

          Siimpler 是個簡單的 HTML 開發框架,他可以通過選擇你自己喜歡的部分,來幫助你迅速又簡單地創建 HTML5 開發結構。網絡設計者們也可以通過使用 Siimpler 框架類的文件和文件夾來無縫的開始一個 Web 項目。

          2、Initializr

          Initializr 是一個 HTML5 模版生成器,幫助用戶快速開始基于 HTML5 模版文件的新項目,它可以生成自定義的干凈的模版。開發者可以選擇功能、樣本庫和任何應該包括的部分。你可以在不到2分鐘來生成一個模板。

          3、Foundation

          Foundation 是世界上精妙的前端響應框架,同時,它可以兼容所有的瀏覽器和網絡設備。Foundation 擁有移動友好型的用戶接口,設置了許多關鍵特性。

          4、Enyo

          Enyo是一個開源的 Jaa 框架,該框架能夠讓你創建頂級的 HTML5 應用程序,該應用程序能夠運行在各種各樣的電子設備上,比如說手機、臺式機、筆記本、電視以及Web應用。


          5、LimeJS

          針對于所有的新的桌面瀏覽器和觸屏設備,LimeJS 對于有用戶經驗的游戲開發者而言是教好的和較強大的開發框架。

          6、Bootstrap

          Bootstrap能讓所有開發者都能迅速上手、所有設備都可以適配、所有項目都適用。此外,bootstrap的官網也有很多教程提供。

          7、Modernizr

          Modernizr是一個開源的JS庫,它使得那些基于訪客瀏覽器的不同(指對新標準支持性的差異)而開發不同級別體驗的設計師的工作變得更為簡單。它使得設計師可以在支持HTML5和CSS3的瀏覽器中充分利用HTML5和CSS3的特性進行開發,同時又不會犧牲其他不支持這些新技術的瀏覽器的控制。

          Modernizr是基于漸進增強理論來開發的,所以它支持并鼓勵開發者一層一層的創建他們的網站。一切從一個應用了Javascript的空閑地基開始,一個接一個的添加增強的應用層。因為使用了Modernizr,所以你容易知道瀏覽器都支持什么。

          8、juery UI

          juery UI 主要分為交互、微件和效果庫3個部分,主打代碼開源,操作繼承了juery 的簡單特性,兼容各主流桌面瀏覽器。

          9、Ionic

          Ionic是一套先進的HTML 5框架,主要用于混合型移動應用的開發工作。

          這套框架在Angular.js支持方面經過優化,且提供相當豐富的HTML、CSS以及JavaScript組件。



          其還擁有一套強大的命令行界面(簡稱CLI),其中的卓越功能包括實時重載與日志記錄整合,這意味著我們能夠更為輕松地跨越不同平臺對Ionic應用進行開發、測試與部署。


          總結陳詞:

          HTML 5應用的開發難度要遠遠低于面向iOS或者Android系統平臺的原生應用開發難度。HTML 5方案的另一大優勢在于,我們可以通過更為便捷的方式實現Web應用發布——相比之下,原生應用則只能接受審核以獲得在相關應用程序商店中的上架權。


          另外,與原生應用不同,我們也能夠很輕松地對HTML 5應用中的漏洞進行修復或者進行功能改進。

          然而,HTML 5應用缺少一部分原生應用引以為傲的重要特性,例如對本地設備功能的訪問能力以及安全的離線存儲模式。

          無論如何,HTML 5確實標志著一場效果顯著的移動開發技術革新,而我們也可以期待上述問題能夠在不久的未來一一得到解決。

          來源網絡,侵權刪除

          私信我或關注微信號:猿來如此呀,回復:學習,獲取免費學習資源包。


          主站蜘蛛池模板: 本免费AV无码专区一区| 另类免费视频一区二区在线观看| 精品女同一区二区三区在线| 日韩视频一区二区在线观看| 国内精品一区二区三区在线观看| 国产成人精品第一区二区| 国产成人精品一区二区三区无码| 91大神在线精品视频一区| 亚洲av永久无码一区二区三区| 北岛玲在线一区二区| 久久久久人妻一区精品果冻| 国产午夜精品一区二区三区漫画| 亚洲AV日韩AV天堂一区二区三区| 中文字幕av一区| 无码国产亚洲日韩国精品视频一区二区三区 | 国产精品一区视频| 国产一区二区三区在线看片| 99精品国产高清一区二区三区| 蜜臀AV在线播放一区二区三区| 国产视频一区二区| 污污内射在线观看一区二区少妇| 亚洲AV无码一区二区乱子仑| 亚洲A∨精品一区二区三区 | 国产一区二区在线| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲av无码一区二区三区不卡 | 精品一区二区三区四区电影| 久久久久99人妻一区二区三区| 国产伦精品一区二区三区四区| 国产一区二区精品尤物| 亚洲av无码一区二区三区天堂| 国产午夜毛片一区二区三区| 亚洲Av永久无码精品一区二区| 国产在线精品一区二区三区不卡| 老熟妇高潮一区二区三区| 免费日本一区二区| 亚洲片一区二区三区| 精品国产一区二区三区AV | 人妻无码一区二区三区| 国产情侣一区二区| 久久精品视频一区|