検索
ホームページウェブフロントエンドH5 チュートリアルHTML5 API ブラウザのサポート検出の詳細な紹介

HTML5は今日まで発展してきました。広く普及しているわけではありませんが、私たちの日常で簡単に目にすることができます。 、HTML5 のゲーム、Web サイト、アプリケーションも無限に登場しています。フロントエンド スタッフとして、将来のアプリケーションの基礎を築くために、これらの API についても詳しく知っておく必要があります。 HTML5のAPIと各APIのブラウザを添付します。 検出方法は主に最近の「html5の秘密」や「html5高度なプログラミング」を参考にしています

まずは、昔から使われているオープンソースのModernizrを紹介します。 HTML5 および CSS3 機能に対するブラウザーのサポートを検出します。JavaScript クラス ライブラリ 、最新バージョンはバージョン 2.5.3 (ダウンロード)、使用方法は非常に簡単で、JS をページに導入した後、自動的に実行され、 Modernizr グローバル オブジェクト は、それぞれに使用できます。検出された特徴により、ブール型 の対応する 属性 が作成されます。これを呼び出すだけです。たとえば、

if( Modernizr.canvas ){  
// 恩,我知道这个属性,他是画图用的:)
}
else{  
// canvas 这是个什么东东??
}

1。 Canvas1。 -依存ビットマップ キャンバスと描画されるグラフィックス スケーラブルではありません。Javascript を使用して Canvas に任意のグラフィックスを描画でき、さらには写真を読み込むこともできます。HTML5 標準では、単純なグラフィックスの描画、パスの定義、グラデーションの作成のための一連の Canvas API が策定されています。 Canvas は、デフォルトで幅 300 ピクセル、高さ 150 ピクセルの長方形の領域です。
注: Canvas によって描画されるオブジェクトは、ページの DOM 構造や他の
名前空間に属しません。

// 创建一个 Canvas 元素,并检查该元素是否拥有 getContext() 方法,然后用双否定强制返回一个布尔值
var hasCanvas = !!document.createElement("canvas").getContext;
// Modernizr检测方法,返回布尔值
var hasCanvas = Modernizr.canvas ;
2.オーディオとビデオ

この要素の出現により、開発者はプラグインを使用せずにオーディオまたはビデオを再生できるようになり、HTML5 仕様では、ユニバーサルで完全なスクリプト可能なコントロール API

// 创建一个 Audio 元素,并检查该元素是否拥有 canPlayType() 方法,然后用双否定强制返回一个布尔值
var hasAudio = !!document.createElement("audio").canPlayType;
// modernizr检测方法
var hasAudio = Modernizr.audio;
// 创建一个 Video 元素,并检查该元素是否拥有 canPlayType() 方法,然后用双否定强制返回一个布尔值
var hasVideo = !!document.createElement("video").canPlayType;
// modernizr检测方法
var hasVideo = Modernizr.video;
を検出したい場合も提供されます。デフォルトの形式がサポートされている場合は、次のように書くことができます:
var hasVideo = document.createElement("video").canPlayType('video/ogg; codecs="theora, vorbis"');
// modernizr检测方法
var hasVideo = Modernizr.video.ogg;

ネイティブ メソッドは "おそらく"、"たぶん"、または "" を返します。これはそれぞれ、「この形式を確実に再生できる」、「おそらくこの形式を再生できる」ことを意味します。 「この形式は絶対に再生できません」

canPlayType()。メソッドで渡されるパラメータはテキストで表現され、「theora」エンコード形式でビデオを再生できるか、カプセル化された「vorbis」形式でオーディオを再生できるかどうかをブラウザに問い合わせます。


3.Web Storage

Web Storage (DOMStorage とも呼ばれます) を使用すると、開発者は Javascript オブジェクトにデータを保存できます。このオブジェクトはページの読み込み時に保存され、簡単にアクセスできます。開発者は、新しいウィンドウまたは新しい タブを開いたとき、およびブラウザを再起動したときにこのデータをアクティブにするかどうかを選択できます。保存されたデータはネットワークを介して送信されず、最大数メガバイトのビッグデータを保存できます。

// 支持的话,全局 window 对象会有一个 localStorage 属性
var hasWebStorage = window.localStorage;
// modernizr检测方法
var hasWebStorage = Modernizr.localstorage;
4.Web Workers

Web Workers を使用すると、Web アプリケーションにバックグラウンド処理機能を持たせることができ、マルチスレッドを非常によくサポートします。したがって、HTML5 を使用する Javascript アプリケーションは、マルチコア CPU を最大限に活用し、長期タスクを Web ワーカーに割り当てて実行できます。 注: Web ワーカーで実行されるスクリプトは、ページのウィンドウ オブジェクトにアクセスできません。

// 支持的话,全局 window 对象会有一个 Worker 属性
var hasWorker = window.Worker;
// modernizr检测方法
var hasWorker = Modernizr.webworkers;


5.オフライン Web アプリケーション

HTML5 のオフライン アプリケーション キャッシュを使用すると、ネットワーク接続なしでアプリケーションを実行できます。オフライン アクセス機能を備えた Web サイトに初めてアクセスすると、Web サーバーは、オフラインでの通常の操作を保証するために必要なファイルをブラウザーに通知します。これらのファイルは、HTML、JavaScript、画像、ビデオなどの任意のファイルです。

// 支持的话,全局 window 对象会有一个 applicationCache 属性
var hasApplicationCache = window.applicationCache;
// modernizr检测方法
var hasApplicationCache = Modernizr.applicationcache ;

6.Geolocation

HTML5 の地理位置情報 API は、世界中のどこにいるのかを特定し、許可を得て位置情報を共有できます。この素晴らしい機能を使用して、多くの興味深いアプリケーションを構築できます。たとえば、走行距離の計算、GPS ナビゲーションに基づくソーシャル アプリケーションなどです。 IP アドレス、GPS 地理位置情報、Wi-Fi 地理位置情報、携帯電話地理位置情報、およびカスタム地理位置情報を通じて位置データを取得します。

// 支持的话,全局 navigator 对象会有一个 geolocation 属性
var hasGeolocation = navigator.geolocation;
// modernizr检测方法
var hasGeolocation = Modernizr.geolocation;

7. フォーム

HTML5 では、検索を表す検索、数値タイプの入力ボックス番号、範囲選択スライダーの範囲、カラーセレクターの色、電話番号入力ボックスの電話番号、URL 入力ボックスの URL、電子メール入力ボックスなど、多くの新しい入力ボックスの種類が定義されています。電子メール、日付セレクターの日付、月入力ボックス month、週入力ボックス week、タイムスタンプ入力ボックス time、正確な日付/タイムスタンプ入力および終了ボックス datetime、ローカル日付と時刻入力ボックス datetime-local。

// 创建一个 input 元素,该元素默认是 text 类型,改变他的类型,然后查看改变是否被保留
var o = document.createElement("input");o.setAttribute("type","color");return i.type != "text";
// modernizr检测方法
var hasInputType = Modernizr.inputtypes.color;

8.WebSockets
WebSockets 是 HTML5 中最强大的通信功能,它定义了一个全双工通信通道(又称为双向同时通信,即通信的双方可以同时发送和接受信息的信息交互方式),仅通过 Web 上的一个 Socket 即可进行通信。它不仅仅是对常规 HTTP 通信的另一种增量加强,更代表着一次巨大的进步,对实时的、事件驱动的程序而言更是如此。

// 支持的话,全局 window 对象会有一个 webSocket 属性
var hasWebSocket = window.webSocket;
// modernizr检测方法
var hasWebSocket = Modernizr.websockets;

8.Communication
Communication 是 HTML5 中用来实现正在运行的两个页面之间(iframe、标签页、窗口)进行跨源通信和信息共享的API。它把 postMessage API 定义为发送消息的标准方式。

// 支持的话,全局 window 对象会有一个 postMessage 属性
var hasPostMessage = window.postMessage;
// modernizr检测方法
var hasPostMessage = Modernizr.postmessage;

API 的浏览器支持情况主要介绍这些,以后我会逐个 API 进行详细讲解,把自己学到和研究的东西共享出来,欢迎大家来一块交流学习:)

以上がHTML5 API ブラウザのサポート検出の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
H5コードの例:実用的なアプリケーションとチュートリアルH5コードの例:実用的なアプリケーションとチュートリアルApr 25, 2025 am 12:10 AM

H5は、さまざまな新機能と機能を提供し、フロントエンド開発の機能を大幅に向上させます。 1.マルチメディアサポート:メディアを埋め込んで要素を埋め込み、プラグインは必要ありません。 2。キャンバス:要素を使用して、2Dグラフィックとアニメーションを動的にレンダリングします。 3。ローカルストレージ:ユーザーエクスペリエンスを改善するために、ローカルストレージとセッションストレージを介して永続的なデータストレージを実装します。

H5とHTML5の接続:類似性と相違点H5とHTML5の接続:類似性と相違点Apr 24, 2025 am 12:01 AM

H5とHTML5は異なる概念です。HTML5は、新しい要素とAPIを含むHTMLのバージョンです。 H5は、HTML5に基づくモバイルアプリケーション開発フレームワークです。 HTML5はブラウザを介してコードを解析およびレンダリングしますが、H5アプリケーションはコンテナを実行し、JavaScriptを介してネイティブコードと対話する必要があります。

H5コードの構成要素:キー要素とその目的H5コードの構成要素:キー要素とその目的Apr 23, 2025 am 12:09 AM

HTML5の重要な要素には、最新のWebページの構築に使用される、、,,,,などが含まれます。 1.ヘッドコンテンツを定義します。2。リンクをナビゲートするために使用されます。3。独立した記事のコンテンツを表します。4。ページコンテンツを整理します。5。サイドバーコンテンツを表示します。

HTML5およびH5:一般的な使用法の理解HTML5およびH5:一般的な使用法の理解Apr 22, 2025 am 12:01 AM

HTML5とHTML5の略語であるHTML5とH5の間に違いはありません。 1.HTML5はHTMLの5番目のバージョンであり、Webページのマルチメディア関数とインタラクティブ機能を強化します。 2.H5は、HTML5ベースのモバイルWebページまたはアプリケーションを参照するためによく使用され、さまざまなモバイルデバイスに適しています。

HTML5:現代のウェブのビルディングブロック(H5)HTML5:現代のウェブのビルディングブロック(H5)Apr 21, 2025 am 12:05 AM

HTML5は、W3Cによって標準化されたHyperText Markup言語の最新バージョンです。 HTML5は、新しいセマンティックタグ、マルチメディアサポート、フォームの強化、Web構造の改善、ユーザーエクスペリエンス、SEO効果を導入します。 HTML5は、Webページ構造をより明確にし、SEO効果をより良くするために、、、、、、などの新しいセマンティックタグを導入します。 HTML5はマルチメディア要素をサポートしており、サードパーティのプラグインは不要で、ユーザーエクスペリエンスと読み込み速度が向上します。 HTML5はフォーム関数を強化し、ユーザーエクスペリエンスを向上させ、フォーム検証効率を向上させるなどの新しい入力タイプを導入します。

H5コード:クリーンで効率的なHTML5の書き込みH5コード:クリーンで効率的なHTML5の書き込みApr 20, 2025 am 12:06 AM

クリーンで効率的なHTML5コードを書き込む方法は?答えは、タグのセマンティック、構造化されたコード、パフォーマンスの最適化、一般的な間違いを回避することにより、一般的な間違いを避けることです。 1.コードの読みやすさとSEO効果を改善するには、セマンティックタグなどを使用します。 2。適切なインデントとコメントを使用して、コードを構造化して読みやすいままにします。 3.不必要なタグを減らし、CDNを使用してコードを圧縮することにより、パフォーマンスを最適化します。 4.タグが閉じていないなどの一般的な間違いを避け、コードの有効性を確認してください。

H5:ウェブ上のユーザーエクスペリエンスをどのように強化するかH5:ウェブ上のユーザーエクスペリエンスをどのように強化するかApr 19, 2025 am 12:08 AM

H5は、マルチメディアサポート、オフラインストレージ、パフォーマンスの最適化により、Webユーザーエクスペリエンスを向上させます。 1)マルチメディアサポート:H5と要素は、開発を簡素化し、ユーザーエクスペリエンスを向上させます。 2)オフラインストレージ:WebStorageとIndexEdDBは、エクスペリエンスを改善するためにオフラインで使用できるようにします。 3)パフォーマンスの最適化:ウェブワーカーと要素は、パフォーマンスを最適化して帯域幅の消費を削減します。

H5コードの分解:タグ、要素、属性H5コードの分解:タグ、要素、属性Apr 18, 2025 am 12:06 AM

HTML5コードは、タグ、要素、属性で構成されています。1。タグはコンテンツタイプを定義し、などの角度ブラケットに囲まれています。 2。要素は、startタグ、内容、および内容などのエンドタグで構成されています。 3。属性は、開始タグのキー値のペアを定義し、ような関数を強化します。これらは、Web構造を構築するための基本ユニットです。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター