JavaScript & DHTMLクックブック 第2版

―Webエキスパート必携テクニック集

[cover photo]
TOPICS
クックブック , Programming , Web , HTML/CSS , JavaScript
発行年月日
PRINT LENGTH
592
ISBN
978-4-87311-370-8
原書
JavaScript & DHTML Cookbook, 2nd Edition
FORMAT
PDF
Ebook
4,620円
Ebookを購入する

本書は、JavaScriptを使ってWebサイトを構築する際に直面する疑問を集め、分かりやすいレシピ集というスタイルで解説します。改訂にあたり、AjaxやDOMスクリプティングなどの新しいレシピを追加し、旧版から引き継いだレシピについては、Web2.0アプリのためにユーザインターフェイスを拡張するための情報などを新たに盛り込みました。JavaScriptでの文字列の操作、フォーム中のデータを検証する簡単なタスクから、HTML要素のクロスブラウザな位置指定や、テーブルのソート、Ajax機能の組み込みのような複雑なタスクを容易にするライブラリまで、Web開発に必要な広範な内容を解説します。

目次

訳者まえがき
まえがき

1章 文字列
	はじめに
	レシピ1.1 文字列を連結する
	レシピ1.2 文字列処理のパフォーマンスを改善する
	レシピ1.3 部分文字列にアクセスする
	レシピ1.4 文字列の大文字小文字を変更する
	レシピ1.5 2つの文字列が等しいかどうか調べる
	レシピ1.6 正規表現を使わずに文字列が含まれているかどうか調べる
	レシピ1.7 正規表現を使って文字列が含まれているかどうか調べる
	レシピ1.8 部分文字列を検索し置換する
	レシピ1.9 特殊文字やエスケープ文字を使う
	レシピ1.10 クッキー文字列を読み書きする
	レシピ1.11 Unicode値と文字を変換する
	レシピ1.12 URL文字列をエンコード/デコードする
	レシピ1.13 BASE64文字列をエンコード/デコードする

2章 数値と日付
	はじめに
	レシピ2.1 数値と文字列を変換する
	レシピ2.2 数値かどうかを調べる
	レシピ2.3 数値が等しいかどうかを調べる
	レシピ2.4 浮動小数点値を四捨五入する
	レシピ2.5 数値を表示用にフォーマットする
	レシピ2.6 10進数と16進数間で数値を変換する
	レシピ2.7 疑似乱数を生成する
	レシピ2.8 三角関数を計算する
	レシピ2.9 Dateオブジェクトを作成する
	レシピ2.10 過去や未来の日付を計算する
	レシピ2.11 2つの日付間の日数を計算する
	レシピ2.12 日付を検証する

3章 配列とオブジェクト
	はじめに
	レシピ3.1 単純な配列を作成する
	レシピ3.2 多次元配列を作成する
	レシピ3.3 配列と文字列を変換する
	レシピ3.4 配列の要素を操作する
	レシピ3.5 単純な配列をソートする
	レシピ3.6 配列を結合する
	レシピ3.7 配列を分割する
	レシピ3.8 カスタムオブジェクトを作成する
	レシピ3.9 配列を高速に検索するためにハッシュテーブルをシミュレートする
	レシピ3.10 オブジェクトのプロパティを操作する
	レシピ3.11 オブジェクトの配列をソートする
	レシピ3.12 オブジェクトのプロトタイプをカスタマイズする
	レシピ3.13 配列やカスタムオブジェクトを文字列に変換する
	レシピ3.14 オブジェクトを使って名前衝突を避ける

4章 変数と関数とフロー制御
	はじめに
	レシピ4.1 JavaScriptの変数を作成する
	レシピ4.2 名前付き関数を作成する
	レシピ4.3 名前付き関数を入れ子にする
	レシピ4.4 匿名関数を作成する
	レシピ4.5 関数呼び出しを遅らせる
	レシピ4.6 条件に応じて処理を分岐する
	レシピ4.7 スクリプトのエラーを上品に処理する
	レシピ4.8 スクリプトのパフォーマンスを改善する

5章 ブラウザ機能の判定
	はじめに
	レシピ5.1 ブラウザの製品名を判定する
	レシピ5.2 初期のブラウザのバージョンを判定する
	レシピ5.3 Internet Explorerのバージョンを判定する
	レシピ5.4 Mozillaのバージョンを判定する
	レシピ5.5 Safariのバージョンを判定する
	レシピ5.6 Operaのバージョンを判定する
	レシピ5.7 クライアントのオペレーティングシステムを判定する
	レシピ5.8 オブジェクトがサポートされているかどうかを判定する
	レシピ5.9 オブジェクトがプロパティやメソッドをサポートしているかどうかを調べる
	レシピ5.10 W3C DOM標準をサポートしているかどうかを判定する
	レシピ5.11 ブラウザが記述されている言語を判定する
	レシピ5.12 クッキーが利用可能かどうかを判定する
	レシピ5.13 ブラウザに特化したリンクや、機能に特化したリンクを作成する
	レシピ5.14 複数のブラウザバージョンで調査する

6章 ブラウザウィンドウの管理
	はじめに
	レシピ6.1 ブラウザウィンドウ制御に関する制限事項を受け入れる
	レシピ6.2 メインウィンドウの大きさを設定する
	レシピ6.3 メインウィンドウの位置を指定する
	レシピ6.4 メインウィンドウを最大化する
	レシピ6.5 新しいウィンドウを作成する
	レシピ6.6 ウィンドウを前面に移動する
	レシピ6.7 新しいウィンドウと通信する
	レシピ6.8 メインウィンドウと通信する
	レシピ6.9 Internet Explorerのモーダル/モードレスウィンドウを使用する
	レシピ6.10 クロスブラウザでモーダルダイアログウィンドウをシミュレートする
	レシピ6.11 レイヤーを使ってウィンドウをシミュレートする

7章 複数フレームの管理
	はじめに
	レシピ7.1 新しいフレームセット中に空のフレームを作成する
	レシピ7.2 あるフレームから別のフレームのコンテンツを変更する
	レシピ7.3 一度に複数のフレームのコンテンツを変更する
	レシピ7.4 フレームセットを1つのページで置き換える
	レシピ7.5 他サイトに「フレーム化」されるのを防ぐ
	レシピ7.6 ページがフレームセット中に確実に読み込まれるようにする
	レシピ7.7 フレームの大きさを読み出す
	レシピ7.8 フレームの大きさを変更する
	レシピ7.9 フレームセットの仕様を動的に変更する

8章 動的なフォーム
	はじめに
	レシピ8.1 最初のテキストフィールドに自動的にフォーカスを移動する
	レシピ8.2 一般的なテキストフィールドの検証を行う
	レシピ8.3 検証に失敗した場合にフォームの送信を抑止する
	レシピ8.4 入力が不正なテキストフィールドに自動的にフォーカスを移動する
	レシピ8.5 カスタム検証オブジェクトを使う
	レシピ8.6 フォームの動作を変更する
	レシピ8.7 エンターキーでフォームを送信しないようにする
	レシピ8.8 エンターキーを使ってフォーカスを次のテキストフィールドに移動する
	レシピ8.9 任意のテキストボックス中でエンターキーを押下してフォームを送信する
	レシピ8.10 フォームコントロールを無効にする
	レシピ8.11 フォームコントロールを隠したり表示したりする
	レシピ8.12 テキストボックスへの入力を数値のみ(または英字のみ)に限定する
	レシピ8.13 固定長のテキスト入力ボックスに対して自動的にタブ移動する
	レシピ8.14 選択リストの内容を変更する
	レシピ8.15 ページ間でフォームデータをコピーする

9章 イベント処理
	はじめに
	レシピ9.1 IEとW3Cイベントモデルの差異を吸収し均一化する
	レシピ9.2 ページが読み込まれた後に処理を実行する
	レシピ9.3 複数のloadイベントハンドラを追加する
	レシピ9.4 クリックイベントの座標を調べる
	レシピ9.5 イベントに対してデフォルトの処理が行われるのを抑止する
	レシピ9.6 ダブルクリックをブロックする
	レシピ9.7 どの要素がイベントを受け取るのかを判定する
	レシピ9.8 どのマウスボタンが押されていたのかを判定する
	レシピ9.9 どの文字が入力されたのかを読み出す
	レシピ9.10 非文字キーのどのキーが押されたのかを取得する
	レシピ9.11 イベントの間に修飾キーが押されていたかどうかを判定する
	レシピ9.12 マウスカーソルの移動元/移動先となる要素を判定する
	レシピ9.13 音をイベントに同期させる

10章 ページのナビゲーション
	はじめに
	レシピ10.1 新しいページまたはアンカーを読み込む
	レシピ10.2 ページをブラウザの履歴に残さないようにする
	レシピ10.3 select要素を使ってページを移動する
	レシピ10.4 クッキーを使ってページ間でデータをやり取りする
	レシピ10.5 フレームを使ってページ間でデータをやり取りする
	レシピ10.6 URLを使ってページ間でデータをやり取りする
	レシピ10.7 コンテキストメニュー(右クリックメニュー)を作成する
	レシピ10.8 ナビゲーション用にドロップダウンメニューを作成する
	レシピ10.9 「パンくず」リストメニューを提供する
	レシピ10.10 折りたたみ式メニューを作成する
	レシピ10.11 折りたたみ式XMLメニューを作成する

11章 スタイルシートの管理
	はじめに
	レシピ11.1 要素に対して、グローバルなスタイルシートルールを設定する
	レシピ11.2 スタイルシートルールを要素のグループに対して設定する
	レシピ11.3 個々の要素にスタイルシートルールを設定する
	レシピ11.4 外部スタイルシートをインポートする
	レシピ11.5 ブラウザやオペレーティングシステム用に特化したスタイルシートをインポートする
	レシピ11.6 読み込んだ後にインポートされたスタイルシートを変更する
	レシピ11.7 スタイルシートを有効/無効にする
	レシピ11.8 要素に対するスタイルシートを切り替える
	レシピ11.9 スタイルシートルールを上書きする
	レシピ11.10 任意のコンテンツをスタイル付き要素にする
	レシピ11.11 ボディ要素をセンタリング表示する
	レシピ11.12 スタイルシートの有効なプロパティ値を読み出す
	レシピ11.13 最新のブラウザを強制的に標準互換モードにする

12章 静止コンテンツのための視覚効果
	はじめに
	レシピ12.1 画像を先読みしてキャッシュする
	レシピ12.2 画像を置換する(ロールオーバー)
	レシピ12.3 JavaScriptを使って、ロールオーバー用にダウンロードする画像の数を削減する
	レシピ12.4 CSSを使って、ロールオーバー用にダウンロードする画像の数を削減する
	レシピ12.5 画像の大きさを動的に変更する
	レシピ12.6 テキストスタイルプロパティを変更する
	レシピ12.7 ボディ部のテキストの大きさをユーザが選択できるようにする
	レシピ12.8 カスタムリンクスタイルを作成する
	レシピ12.9 背景色と背景画像を変更する
	レシピ12.10 要素を隠す/表示する
	レシピ12.11 要素の透明度を調整する
	レシピ12.12 トランジション効果を生成する
	レシピ12.13 canvas要素に図を描画する

13章 HTML要素の位置指定
	はじめに
	レシピ13.1 要素をドキュメント空間中で位置指定できるようにする
	レシピ13.2 位置指定要素をボディ部の要素に接続する
	レシピ13.3 DHTMLライブラリを使って位置を制御する
	レシピ13.4 divコンテナとspanコンテナのどちらを使用すればよいかを決める
	レシピ13.5 位置指定要素の重ね合わせ順序(Z座標)を変更する
	レシピ13.6 要素をほかの要素上にセンタリングする
	レシピ13.7 ウィンドウやフレームの中で要素をセンタリングする
	レシピ13.8 位置指定要素ではない要素の位置を取得する
	レシピ13.9 要素を直線に沿って移動する
	レシピ13.10 要素を円周に沿って移動する
	レシピ13.11 ドラッグ可能な要素を作る
	レシピ13.12 div要素のコンテンツをスクロールする
	レシピ13.13 カスタムスクロールバーを作る
	レシピ13.14 スライダーコントロールを作成する

14章 動的なコンテンツの作成
	はじめに
	レシピ14.1 ページを読み込んでいる間に動的にコンテンツを記述する
	レシピ14.2 新しいページのコンテンツを動的に作成する
	レシピ14.3 外部のHTMLコンテンツをインクルードする
	レシピ14.4 XMLデータを埋め込む
	レシピ14.5 データをJavaScriptオブジェクトとして埋め込む
	レシピ14.6 XMLデータをHTMLテーブルに変換する
	レシピ14.7 JavaScriptオブジェクトをHTMLテーブルに変換する
	レシピ14.8 XMLノードツリーをJavaScriptオブジェクトに変換する
	レシピ14.9 新しいHTML要素を作成する
	レシピ14.10 新しい要素用にテキストコンテンツを作成する
	レシピ14.11 要素とテキストノードが混在したものを作成する
	レシピ14.12 iframe要素を挿入しコンテンツを追加する
	レシピ14.13 HTML要素オブジェクトの参照を取得する
	レシピ14.14 同じクラスのすべての要素を参照する
	レシピ14.15 ボディコンテンツの一部を置き換える
	レシピ14.16 ボディ部のコンテンツを削除する
	レシピ14.17 XMLHttpRequestを使ってRESTリクエストを送信する
	レシピ14.18 XMLHttpRequestを使ってSOAP呼び出しを行う
	レシピ14.19 動的にテーブルをソートする
	レシピ14.20 ドキュメントノードツリーをたどる
	レシピ14.21 ドキュメントコンテンツを取得する

15章 動的コンテンツを使ったアプリケーション
	はじめに
	レシピ15.1 ランダムに格言を表示する
	レシピ15.2 ユーザが選択した範囲を任意の要素に変換する
	レシピ15.3 ボディ部のコンテンツを検索/置換する
	レシピ15.4 ユーザがテキストを編集できるようなページを設計する
	レシピ15.5 スライドショーを作成する
	レシピ15.6 ページを自動スクロールする
	レシピ15.7 ユーザに対してユーザの時刻に合わせたあいさつをする
	レシピ15.8 クリスマスまでの日数を表示する
	レシピ15.9 カウントダウンタイマーを表示する
	レシピ15.10 カレンダを使った日付選択ツールを作成する
	レシピ15.11 プログレスバーを表示する

付録A キーボードイベントの文字コード値

付録B キーボードのキーコード値

付録C ECMAScriptの予約語

索 引