HTML5 Web標準API バイブル
ソシム
著者:羽田野太巳
はじめに
第1章 DOM
1-1 DOMの最新版 DOM4
1-1-1 DOM4の全体像
1-1-2 class属性のトークンから要素を検索-getElementsByClassName()メソッド
1-1-3 class属性のトークンへのアクセス-classList
1-1-4 ドキュメント断片の生成-DocumentFragment
1-1-5 ノードの変化の補足-MutationObserver
1-1-6 独自イベントの生成-CustomeEvent
1-1-7 コンテンツの範囲-Range
1-1-8 ノードの走査-Traversal
要素だけを走査する-Element Traversal
独自のフィルターで走査する-DOM Traversal
1-2 CSSセレクタによる要素の検索 Selectors API
1-3 XML文字列とXMLオブジェクトの相互変換 DOM Parsing and Serialization
1-4 スタイルへのアクセス CSSOM
1-4-1 メディアクエリ定義の取得-MediaList
メディアクエリの基礎
メディア定義にアクセスする-MediaListインタフェース
1-4-2 インラインスタイルの操作-CSSStyleDeclaration
1-4-3 スタイルシートの操作-CSSStyleSheet
スタイルシートから宣言ブロックへアクセス
CSSルールの追加と削除
1-4-4 最終的に適用されたスタイルの取得-コンピューティッドスタイル
1-5 見えている状態の把握 CSSOM View Module
1-5-1 メディアクエリ-matchMedia()メソッド
1-5-2 要素の寸法と位置-ClientRect
ボックスモデル
祖先要素からの相対位置を取得する
ビューボードあらの相対位置を取得する
1-5-3 折り返されたテキストの寸法と位置-ClientRectList
第2章 ユーザー操作とインタフェース
2-1 コンテキストメニューに項目を追加 menu要素
2-2 ダイアログボックス dialog要素
2-3 フォーム入力制約バリデーション Constraint Validation API
2-3-1 入力制約を伴うコントロールタイプと属性
2-3-2 入力制約違反の検知
2-3-3 入力制約違反のイベント
2-4 フォームコントロールのステップの操作 stepUp()とstepDown()メソッド
2-5 テキスト入力フィールドのテキスト選択 Text field selection API
2-6 ページのテキスト選択 Text Selection API
2-7 要素の編集 contenteditable
2-8 IMEからの入力のリアルタイム捕捉 Compositionイベント
2-9 ページ履歴の操作 Session history API
2-10 ドラッグ&ドロップ Drag and Drop API
2-11 クリップボードの操作 Clipboard API and events
2-12 ウェブコンテンツの部品化 Web Components
2-13 テンプレートの枠組み HTML Templates
2-14 スタイル独立型のカスタムUI Shadow DOM
2-15 独自要素 Custom Elements
2-16 ウェブ部品の外部化と組み込み HTML Imports
第3章 データ操作とストレージ
3-1 型付き配列Typed Array
3-1-1 型とビュー
3-1-2 バイトオーダ
3-2 文字コード変換 Encoding
3-3 ASCII文字のBase64エンコードとデコード Base64 utility methods
3-4 データの暗号化 Web Cryptography API
3-4-1 暗号論的擬似乱数列の生成
3-4-2 暗号学的ハッシュ値(ダイジェスト)の生成
3-4-3 公開鍵と秘密鍵の生成
3-4-4 鍵のインポート
3-4-5 デジタル署名の生成と検証
3-4-6 暗号化と複合化
3-5 キー・バリュー型データ同期ストレージ Web Storage
3-5-1 ストレージへのアクセス-Storageオブジェクト
3-5-2 別のタブで発生したストレージの更新の捕捉-storageイベント
3-6 構造化データ非同期ストレージ Indexed Database API
3-6-1 データベース操作
3-6-2 オブジェクトストアの生成
3-6-3 レコードの操作
3-6-4 主キーからのレコードを検索
3-6-5 全レコードの読み出し
3-6-6 インデックス対象のカラムから前方一致検索
[コラム]Web SQL Database
3-7 ファイルの読み取り File API
3-7-1 ファイルの中身の読み取り-FileReader
3-7-2 ファイルのデータをURLに変換-Blob URL
3-7-3 ファイルのデータをストレージに保存
3-8 ファイルの書き込みとダウンロード保存 File API: Writer
3-8-1 Blobの生成
3-8-2 ファイルのダウンロード保存
3-9 ディレクトリとファイルの保存 File API: Directories and System
3-9-1 ディレクトリの操作
3-9-2 ファイルの生成
3-9-3 ディレクトリの走査
3-9-4 ファイルの読み取り
3-9-5 保存ファイルのURL生成
3-9-6 ファイルとディレクトリの削除
[コラム]File API:Directories and System不要論
3-10 データ容量の上限管理 Quota Management API
3-10-1 ストレージの上限アップ
3-10-2 使用中サイズと上限サイズの取得
3-10-3 ストレージの上限の決まり方
第4章 グラフィックス
4-1 ビットマップグラフィックス HTML Canvas 2D Context
4-1-1 クイックスタート
4-1-2 パスを使った図形描画
4-1-3 パスの生成と保持
4-1-4 線幅と先端のスタイル
4-1-5 点線
4-1-6 色とグラデーション
4-1-7 テキスト
4-1-8 シャドー
4-1-9 画像の挿入
4-1-10 画像のスムージング
4-1-11 ピクセル操作
4-1-12 合成
4-1-13 ブレンディング
4-1-14 座標変換
4-1-15 Canvas画像のエクスポート
4-2 ベクターグラフィックス SVG
4-2-1 SVGの基礎
4-2-2 基本図形のマークアップ
矩形-rect要素
円-circle要素
楕円-ellipse要素
直線-line要素
画像-image要素
4-3 3Dまで扱える座標変換行列 DOMMatrix interface
第5章 アニメーション
5-1 スタイル遷移のアニメーション CSS Transitions
5-1-1 CSS Transitionsの基本
5-1-2 アニメーションイベント
5-2 キーフレームを使ったアニメーション CSS Animations
5-2-1 CSS Animationsの基本
5-2-2 アニメーションイベント
5-2-3 アニメーションの一時停止と再開
5-2-4 キーフレーム操作
5-3 ベクターグラフィックスのアニメーション SVG Animations
5-3-1 SVG Animationsの基本
5-3-2 アニメーションの開始と終了の制御
5-3-3 タイムラインの制御
5-3-4 リアルタイムにアニメーションの状態を把握する
5-3-5 アニメーションのイベント
5-3-6 SVGとCSSとの組み合わせによるアニメーション
5-4 ディスプレーのリフレッシュレートに合わせたアニメーション Timing control for script-based animations
5-5 アニメーションのタイムライン制御フレームワーク Web Animations 1.0
5-5-1 Web Animationsの利用の準備
5-5-2 クイックスタート
5-5-3 アニメーション効果
5-5-4 アニメーションのオプション設定
5-5-5 パスアニメーション
5-5-6 再生状況の把握と再生の制御
5-5-7 複数のアニメーションの同期再生
5-5-8 複数のアニメーションの連続再生
5-5-9 同時再生と連続再生の組み合わせ
5-5-10 アニメーションイベント
第6章 スクリーンとポインティング
6-1 フルスクリーン表示 Fullscreen
6-2 スクリーンのオリエンテーション(回転)の制御 The Screen Orientation API
6-2-1 オリエンテーションの把握
6-2-2 オリエンテーションのロックと解除
6-3 マウスポインターのロック Pointer Lock
6-4 タッチ操作 Touch Events
6-4-1 イベントのキャッチ
6-4-2 イベントの詳細情報
6-4-3 タッチの筆圧と範囲
6-5 マウスとタッチとペンの包括的API Pointer Events
6-5-1 Pointer Eventsサポートの判定とタッチ点数の把握
6-5-2 ポインターのイベント
6-5-3 タッチのデフォルトアクションの停止
6-5-4 ポインターの詳細情報とタッチジェスチャーの組み込み
6-6 ゲームコントローラー Gamepad
6-7 バイブレーション Vibration API
第7章 センサー
7-1 GPSセンサー Geolocation API Specification
7-1-1 位置情報の取得
7-1-2 移動のモニタリング
7-2 ジャイロスコープとコンパスと加速度センサー DeviceOrientation Event Specification
7-2-1 傾きと方角
7-2-2 加速度と回転速度
7-2-3 コンパスの干渉補正の必要性の検知
7-3 バッテリーセンサー Battery Status API
7-4 近接センサー Proximity Events
7-4-1 物体が近づいたかどうかを判定
7-4-2 物体との距離を計測
7-5 環境光センサー Ambient Light Events
第8章 パフォーマンス
8-1 オフラインとキャッシュ Application Cache
8-1-1 マニフェストファイル
8-1-2 オンラインとオフラインの判定と検知
8-1-3 キャッシュイベント
8-1-4 キャッシュの操作
8-2 バックグラウンド処理 Web Workers
8-2-1 ワーカースレッドの生成
8-2-2 メッセージング
8-2-3 バイナリーデータの送受信
8-2-4 ワーカースレッドで利用可能なAPI
8-3 ページが見えているかを判定 Page Visibility
8-4 ページ表示までのタイムライン Navigation Timing
8-4-1 ナビゲーション御種類
8-4-2 ページロードまでのタイムライン
8-5 高精度のタイムスタンプ High Resolution Time
8-6 パフォーマンス計測の包括的枠組み Performance Timeline
8-7 個別のリソース表示までのタイムライン Resource Timing
8-8 任意の経過時間を高精度に計測 User Timing
8-9 高速かつ省電力の効率的な分割処理 Efficient Script Yielding
第9章 コミュニケーションとネットワーク
9-1 ブラウザー内のメッセージング HTML5 Web Messaging
9-1-1 iframe要素のウィンドウとドキュメント
9-1-2 メッセージング
9-1-3 オブジェクトデータの送信
9-1-4 多チャンネルを実現するチャネルメッセージング
9-2 ブラウザーによる通知 Web Notifications
9-2-1 通知表示の許可
9-2-2 通知のイベント
9-2-3 通知画面のカスタマイズ
9-3 URLの生成と分解 URL
9-3-1 URLの分解
9-3-2 URLオブジェクトの生成
9-4 HTTP非同期通信 XMLHttpRequest
9-4-1 非同期通信
9-4-2 同期通信
9-4-3 通信状態とイベント
9-4-4 タイムアウト
9-4-5 HTTPリクエストヘッダー
9-4-6 HTTPレスポンスヘッダー
9-4-7 受信データの種類
9-4-8 フォームのPOST送信
9-4-9 ベーシック認証
9-5 ダウンロードの進捗 Progress Events
9-6 クロスオリジン通信 Cross-Origin Resource Sharing
9-7 サーバープッシュ-Server Sent Events
9-7-1 データフォーマット
9-7-2 接続と応答
9-7-3 イベントと切断
9-8 全二重のリアルタイム通信 WebSocket API
9-8-1 WebSocketサーバーの構築
9-8-2 WebSocketサーバーへの接続とメッセージ送受信
9-8-3 コネクションエラーの判定
9-8-4 コネクションの切断
9-8-5 バイナリーデータの送受信
9-9 デバイスのネットワーク接続情報 Network Information API
第10章 ビデオとオーディオ
10-1 ビデオとオーディオ Media Elements API
10-1-1 メディア操作の基本
10-1-2 早送りとスロー再生
10-1-3 メディアの尺と再生位置
10-1-4 音量調整
10-1-5 再生可能なコーデックの判定
10-1-6 ロードと再生の状態とイベント
10-1-7 多重音声の操作
10-1-8 同期再生
10-2 ビデオ字幕 Text track API
10-2-1 字幕ファイル
10-2-2 キューへのアクセス
10-2-3 キューへのイベント
10-2-4 テキストトラックの動的生成
10-3 HTTPアダプティブストリーミング配信 Media Source Extensions
10-3-1 MPEG-DASH形式のビデオデータの準備
10-3-2 ストリーミング処理の流れ
10-3-3 シーク
10-3-4 ストリーミングのビットレート切り替え
10-3-5 ストリーミング品質の計測
10-4 カメラ・マイクロフォン・画面のキャプチャー-Media Capture and Streams
10-5 録画と録音-MediaStream Recording
10-6 ピアツーピアビデオ通信 WebRTC
10-6-1 WebRTCの技術概要
10-6-2 シグナリングサーバーの構築
10-6-3 ICEサーバーの構築
10-6-4 ピアツーピア接続の流れ
10-6-5 発呼側の処理
10-6-6 着呼側の処理
10-6-7 データ通信
10-6-8 ダイヤルトーンの送信
10-7 オーディオの生成と合成 Web Audio API
10-7-1 モジュラールーティング
10-7-2 サンプリングレートと経過秒数
10-7-3 ノード共通のAPI
10-7-4 オシレータからの音源生成
10-7-5 オーディオファイルからの音源生成
10-7-6 audio要素からの音源とビジュアルアナライザー
10-7-7 マイクロフォンからの音源生成
10-7-8 音量調整
10-7-9 遅延によるエコー効果
10-7-10 立体音響
10-7-11 そのほかの機能
10-8 音声入力フォーム Speech Input API
10-9 音声認識 Web Speech API
10-9-1 単語の認識
10-9-2 認識された単語の候補
10-9-3 連続音節認識
10-10 MIDI機器操作 Web MIDI API
10-10-1 MIDI機器の情報を取得
10-10-2 MIDIメッセージの受信
10-10-3 MIDIメッセージの送信
第11章 今後の注目のAPI
11-1 DRMによる保護ビデオコンテンツの再生 Encrypted Media Extensions
11-2 非同期処理の新たなコーディングスタイル DOM Promise
11-3 IMEの操作 Input Method Editor API
11-4 UPnPで家電とウェブをつなぐ Network Service Discovery
11-5 近距離無線通信 Web NFC API
11-6 プッシュ通知 Push API
11-7 写真撮影 Mediastream Image Capture
11-8 パッケージアプリ向け機能群 システム・アプリケーションAPI
索引