JavaScript & DHTMLクックブック

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

[cover photo]
TOPICS
Programming
発行年月日
PRINT LENGTH
564
ISBN
4-87311-169-2
原書
JavaScript & DHTML Cookbook
FORMAT
Print
5,060円
この商品は品切れ再入荷未定です

本書は、JavaScriptを使ってウェブサイトを構築する際に直面する疑問を175例集め、わかりやすいレシピ集というスタイルで解説していきます。本書のレシピは、文字列操作や日付の検証のような単純な処理から、クロスブラウザな手法によるHTML要素の位置指定やテーブルの動的な並べ替えなど高度な処理を行うライブラリまでを網羅しています。「〜をするにはどうすればいいのか?」という疑問に解法(コード例)を示し、「どうしてそのコードが動くのか?」までを解説しているので、応用のきくテクニックを習得することができます。さまざまなレベルの人が直面する問題をまとめた本書は、ウェブアプリ開発者必携の一冊です。

目次

訳者まえがき
まえがき

1章 文字列
        はじめに
        レシピ1.1 文字列を連結する
        レシピ1.2 部分文字列にアクセスする
        レシピ1.3 文字列の大文字小文字を変更する
        レシピ1.4 2つの文字列が等しいかどうか調べる
        レシピ1.5 正規表現を使わずに文字列が含まれているかどうか調べる
        レシピ1.6 正規表現を使って文字列が含まれているかどうか調べる
        レシピ1.7 部分文字列を検索し置換する
        レシピ1.8 特殊文字やエスケープ文字を使う
        レシピ1.9 クッキー文字列を読み書きする
        レシピ1.10 Unicode値と文字を変換する
        レシピ1.11 URL文字列をエンコード/デコードする
        レシピ1.12 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 配列やカスタムオブジェクトを文字列に変換する

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 Netscape Navigatorのバージョンを判定する
        レシピ5.5 クライアントのオペレーティングシステムを判定する
        レシピ5.6 オブジェクトがサポートされているかどうかを判定する
        レシピ5.7 オブジェクトがプロパティやメソッドをサポートしているかどうか調べる
        レシピ5.8 ブラウザが記述されている言語を判定する
        レシピ5.9 クッキーが利用可能かどうか判定する
        レシピ5.10 ブラウザに特化したリンクや、機能に特化したリンクを定義する
        レシピ5.11 複数のブラウザバージョンを調査する

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

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 ページ間でフォームデータをコピーする

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

10章 ページのナビゲーション
はじめに
        レシピ10.1 新しいページまたはアンカーを読み込む
        レシピ10.2 ページをブラウザの履歴に残さないようにする
        レシピ10.3 選択要素を使ってナビゲートする
        レシピ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 強制的にバージョン6ブラウザを標準互換モードにする

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

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

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 新しい要素を作成する
        レシピ14.10 新しい要素のためにテキストコンテンツを作成する
        レシピ14.11 要素とテキストノードが混在したものを作成する
        レシピ14.12 iframe要素を挿入し中身を挿入する
        レシピ14.13 HTML要素オブジェクトの参照を取得する
        レシピ14.14 ボディコンテンツの一部を置換する
        レシピ14.15 ボディコンテンツを削除する
        レシピ14.16 動的なテーブルをソートする
        レシピ14.17 ドキュメントノードツリーを走査する
        レシピ14.18 ドキュメントコンテンツをキャプチャする

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

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

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

付録C ECMAScript予約語


索引