正誤表
目次
02-09
誤about()
↓
正abort()
CHAPTER 01 Ajaxの基礎知識‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 1
01- 01 Ajaxとは‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥2
01-01-01 Ajaxなサイトの登場‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥2
01-01-02 Ajaxの提唱‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥3
01-01-03 DHTMLとブラウザ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥4
01-01-04 Ajaxがもたらすもの‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥5
01- 02 非同期通信‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥6
01- 03 Ajaxのメリットとデメリット‥‥‥‥‥‥‥‥‥‥‥8
01-03-01 Ajaxのメリット‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥8
・HTML+サーバーサイド(PHP、Perl、Java…)に対して‥‥‥‥‥8
・Flashに対して‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥10
P11(2版でFix)
誤「クライアント部分はオープンソース言語たるJavaScript」
↓
正「クライアント部分はスクリプトソースが強制的に公開されてしまう言語JavaScript」
もしくは、「クライアント部分は強制的オープンソース化言語たるJavaScript」
01-03-02 デメリット‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥11
P11(2版でFix)
誤(3)項
↓
正
(3)JavaScript部分は、ソース丸見えゆえに厳しい競争にさらされる
サーバー側はともかく、クライアント側は、JavaScriptですから、
ソースは丸見えです。このJavaScriptのソースの公開性は、技術の普及速度を上
げて、一般的には、ユーザーに利益をもたらすともいえますが、
たとえば、企業などが新しいプログラム的なアイデアなどを「秘匿
することで優位性を保つ」といった方法での、他社との差別化を図る
ことは難しいといえるかもしれません。
01-04 セキュリティ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥13
01-04-01 クロスドメインの制約‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥13
01-04-02 クロスサイトスクリプティング‥‥‥‥‥‥‥‥‥‥‥‥‥‥13
01-04-03 SQL/OSコマンドインジェクション‥‥‥‥‥‥‥‥‥‥‥‥‥15
P15
誤$GET_['id'](三箇所あり)
↓
正$_GET['id']
01-04-04 パスワードファイルの管理‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥15
CHAPTER 02 XMLHttpRequestリファレンス‥‥‥‥ 17
02 - 01 XMLHttpRequestとは‥‥‥‥‥‥‥‥‥‥‥‥‥18
02-01-01 実装の状況‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥18
02-01-02 XMLHttpRequestオブジェクトの送受信‥‥‥‥‥‥‥‥‥‥18
02-01-03 XMLHttpRequestオブジェクトを作成する‥‥‥‥‥‥‥‥‥19
02-01-04 HTTPリクエストを発行する‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21
・初期化:open() ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21
・送信:send() ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21
・GET‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥22
・POST ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥23
02-01-05 着信とデータ処理‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥23
・着信(1):onreadystatechange ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥23
・着信(2):onload‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥24
・データ(TEXT):responseText ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥24
・データ(XML):responseXML ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥28
02-02 リファレンスの読み方‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥29
02-03 XMLHTTP ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥30
02-04 XMLHttpRequest ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥31
*注意 Windows IE 7ではXMLHTTPの他にXMLHttpRequestがネイティブサポートされる予定です
02-05 responseXML ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥32
P32
誤MSXML なし
↓
正MSXML 2.0以降
02-06 responseText ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥33
02-07 status ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥34
02-08 statusText ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥35
02-09 about()‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥36
02-10 getAllResponseHeaders()‥‥‥‥‥‥‥‥‥‥37
02-11 getResponseHeader()‥‥‥‥‥‥‥‥‥‥‥‥38
02-12 open()‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥39
P39
誤以下は、POSTで「http://jsgt.org/ajax/」へ…
↓
正POSTで「http://jsgt.org/ajax.cgi」へ…
02-13 send()‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥40
02-14 setRequestHeader()‥‥‥‥‥‥‥‥‥‥‥‥‥‥41
02-15 readyState ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥42
02-16 onreadystatechange ‥‥‥‥‥‥‥‥‥‥‥‥‥43
P43
誤書式 …function ハンドラ関数名()(oj) …
↓
正書式 …function ハンドラ関数名(oj) …
P43
誤oj.readyState == 4 が3箇所ハイライトされている。
↓
正3箇所とも、oj.onreadystatechangeをハイライトに変更。
02-17 onload ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥45
P45
誤書式 …function ハンドラ関数名()(oj) …
↓
正書式 …function ハンドラ関数名(oj) …
02-18 Ajaxのクロスブラウザ対策‥‥‥‥‥‥‥‥‥‥‥‥46
02-18-01 Ajaxを使えないブラウザのために‥‥‥‥‥‥‥‥‥‥‥‥‥46
・JavaScriptが使えない場合‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥46
・Ajaxが使えない場合‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥47
・Google Mapsの場合‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥48
02-18-02 ユーザーエージェントサンプル‥‥‥‥‥‥‥‥‥‥‥‥‥‥48
・ブラウザ別ユーザーエージェント文字列&分岐サンプル‥‥‥‥‥49
P51
誤Epiphany系 コードの中が….indexOf("Galeon")…
↓
正….indexOf("Epiphany")…に修正
02-18-03 readyState値が「3」(INTERACTIVE)の場合の動作‥‥‥‥‥‥53
02-18-04 Operaのonreadystatechange ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥53
02-18-05 OperaでsetRequestHeader ()‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥54
02-18-06 OperaとSafariのBasic認証‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥54
02-18-07 responseTextの文字コード‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥55
・UTF-8がOK‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥55
・UTF-8がNG ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥55
P55
誤UTF-8 OK Win Netscape 1.x?
↓
正UTF-8 OK Win Netscape 6.x 7.x
・回避例(1) ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥56
・回避例(2) ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥56
02-18-08 responseXMLの文字コード‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥56
02-18-09 responseXMLデータのXML宣言‥‥‥‥‥‥‥‥‥‥‥‥‥‥56
02-19 Ajax用簡易クロスブラウザライブラリ‥‥‥‥‥57
02-19-01 jslb-ajaxライブラリの構成‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥57
02-19-02 インクルード‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥58
02-19-03 リファレンス‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥58
P58
誤mcharset
↓
正charset
・関数chkAjaBrowser ()‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥58
・関数createHttpRequest ()‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥58
・関数sendRequest ()‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥59
02-19-04 簡易クロスブラウザライブラリのコード‥‥‥‥‥‥‥‥‥‥60
CHAPTER 03 Google Maps API(Google Mapsを自分のページに設置‥ 65
2005.12.06 Google Mapsの測地系変更実施に伴いCHAPTER 03のサンプルを新測地系に
対応修正しました。したがって、ダウンロードサンプルの座標等は、
本書と多少異なりますのでご了承ください。
03-01 Google Maps設置までの流れ‥‥‥‥‥‥‥‥‥66
03-02 サンプルHTMLコードの基本構成‥‥‥‥‥‥‥‥70
03-03 Google Mapsの動作ブラウザと対処方法‥‥‥72
03-03-01 GBrowserLsCompatible()関数‥‥‥‥‥‥‥‥‥‥‥‥‥‥72
・実例(1):動作しないブラウザの場合、別のページへ移動‥‥‥‥‥‥‥72
・実例(2):動作しないブラウザの場合、ダイアログを表示‥‥‥‥‥‥‥73
・実例(3):動作しないブラウザの場合、mapDIVにメッセージを書き出す‥‥73
03-04 XHTML、VML ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥74
03-05 座標を指定する(基本サンプル)‥‥‥‥‥‥‥‥‥‥75
03-05-01 座標と倍率を指定する‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥75
03-05-02 世界測地系と日本測地系‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥76
03-05-03 度分秒表記と百分率表記‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥77
P77(3版でFix)
誤百分率表記を度分秒表記にするスクリプトのminとsecが逆でした
var min = Math.floor(data / 100) % 60 ;
var sec = Math.floor(data / 6000) % 60 ;
↓
正
var min = Math.floor(data / 6000) % 60 ;
var sec = Math.floor(data / 100) % 60 ;
03-06 地図をアニメーション移動する‥‥‥‥‥‥‥‥‥‥78
03-06-01 一点から一点へ移動する‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥78
03-06-02 連続して移動する‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥79
03-07 地図にコントロールを追加する‥‥‥‥‥‥‥‥‥‥81
03-08 イベント処理を追加する‥‥‥‥‥‥‥‥‥‥‥‥‥‥83
03-09 情報ウィンドウを表示する‥‥‥‥‥‥‥‥‥‥‥‥85
・文字をHTMLで渡す‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥86
P86
誤幅の指定をしないと、FirefoxとSafariでウインドウ内の幅が狭くなるようですので幅を指定します。
var msg = "<b>レインボーブリッジ</b>です。<br />HTMLです。";
↓
正
var msg = "<div style='width:250px'><b>レインボーブリッジ</b>です。<br />HTMLです。</div>";
・おまけ追加 文字をHTMLで渡す(iframeでスクロール)‥‥‥‥‥‥‥‥‥‥ダウンロードサンプル
・おまけ追加 文字をHTMLで渡す(style='overflow:scroll'でスクロール)‥ダウンロードサンプル
03-10 地図にレイヤーを重ねる(1)(線分を表示)‥‥‥‥‥87
03-11 地図にレイヤーを重ねる(2)(アイコンを表示)‥‥89
03-12 地図にレイヤーを重ねる(3)(マーカーを表示)‥‥91
03-13 マーカークリックで情報ウィンドウを表示する‥‥93
P94(3版でFix)
誤幅の指定をしないと、FirefoxとSafariでウインドウ内の幅が狭くなるようですので幅を指定します。
marker.openInfoWindowHtml("浄土庭園です!");
↓
正
marker.openInfoWindowHtml("<div style='width:100px'>浄土庭園です!</div>");
03-14 情報ウィンドウに画像などを表示する‥‥‥‥‥‥95
P96(3版でFix)
誤幅の指定をしないと、FirefoxとSafariでウインドウ内の幅が狭くなるようですので幅を指定します。
var html = '<img src="'+img.src+'" align="left"/>'
+ '<b>【牛久大仏/浄土庭園】</b><br />'
+ '2005.8.15参拝<br />'
+ '超高層巨大仏です。'
↓
正
var html = '<div style="width:300px"><img src="'+img.src+'" align="left"/>'
+ '<b>【牛久大仏/浄土庭園】</b><br />'
+ '2005.8.15参拝<br />'
+ '超高層巨大仏です。</div>'
03-15 ドラッグなどで移動しても中心を指すアイコン‥‥97
P97(3版でFix)
誤サンプルのファイル名 sample.xml
↓
正サンプルのファイル名 sample.htm
03-16 クリックでマーカーを表示・非表示する‥‥‥‥‥99
03-17 自作アイコンの応用‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥101
P102(3版でFix)
誤幅の指定をしないと、FirefoxとSafariでウインドウ内の幅が狭くなるようですので幅を指定します。
var html = "マーカー<b>" + msg + "</b>";
↓
正
var html = "<div style='width:250px'>マーカー<b>" + msg + "</b></div>";
03-18 XMLで座標を読み込む‥‥‥‥‥‥‥‥‥‥‥‥‥‥103
03-19 CSVで座標を読み込む‥‥‥‥‥‥‥‥‥‥‥‥‥‥105
03-20 JSONで座標を読み込む‥‥‥‥‥‥‥‥‥‥‥‥‥106
03-21 Ajaxな通信で座標を連続して読み込む‥‥‥‥107
03-22 GPS携帯の位置を表示する‥‥‥‥‥‥‥‥‥‥‥109
P110
誤日本ではゼンリンの地図で日本則理系になっています。
↓
正日本ではゼンリンの地図で日本則理系になっていましたが、
2005.12より、世界測地系に変わりました。
P110
誤each($gets)
↓
正each($_GET)
03-23 GPS携帯のドライブルートを表示する‥‥‥‥112
03-24 ドライブルートをアニメーション表示する‥‥116
03-25 2画面連動で表示する(広域と詳細)‥‥‥‥‥‥‥120
03-26 2画面連動で表示する(地図と衛星写真)‥‥‥‥‥122
03-27 都道府県庁をSELECT選択で地図表示する‥‥124
03-28 情報ウィンドウにマーカー付近の地図を表示する‥‥‥129
・マーカークリックで周辺の広域衛星写真をウィンドウに表示‥‥129
・マーカークリックで《キャプション》をウィンドウに表示‥‥‥‥130
03-29 XSLTを利用してデータを表示する‥‥‥‥‥‥131
03-30 DoCoMo携帯のiエリアをポリライン表示する‥‥‥‥135
03-31 付録:経度・緯度を調べる(地図作成作業補助サンプル)‥‥‥139
CHAPTER 04 Ajax基本サンプル‥‥‥‥‥‥‥‥‥‥‥‥ 143
04-01 受信‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥142
04-01-01 TEXTを動的受信‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥142
・文字化け対策‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥143
P143
誤UTF-8エンコード
↓
正UTF-8+URIエンコード
・ブラウザごとの文字化け状況‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥144
04-01-02 XMLを動的受信‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥145
・responseXMLの利用‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥146
04-01-03 JSONを動的受信‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥147
P148コラムJSONで
誤function (){ alert('This is method') }
↓
正"function (){ alert('This is method') }"
P148コラムJSONで
誤「oj.メソッド名()」
↓
正「eval(oj.メソッド名())」
04-02 サーバー側言語と連携‥‥‥‥‥‥‥‥‥‥‥‥‥‥149
04-02-01 Ajax+PHP‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥149
・Ajaxなクライアント・サーバー通信‥‥‥‥‥‥‥‥‥‥‥‥‥150
04-02-02 Ajax+Perl ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥152
・Ajaxなクライアント・サーバー通信‥‥‥‥‥‥‥‥‥‥‥‥‥153
04-03 データベースと連携‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥154
04-03-02 Ajax+PHP+bsh+MySQL ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥157
・Ajaxなクライアント・サーバー通信(シェル上のMySQLからデータ取得)‥159
P159
P159
誤ダイアログダイアログ
↓
正フォーム
04-03-03 Ajax+PHP+PGSQL ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥160
・Ajaxなクライアント・サーバー通信(PostgreSQLからデータ取得)‥162
04-03-04 Ajax+PHP+SQLite ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥163
・Ajaxなクライアント・サーバー通信(SQLiteからデータ取得)‥‥‥164
04-03-05 Ajax+PHP+bsh+SQLite‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥165
・Ajaxなクライアント・サーバー通信(SQLiteからデータ取得)‥‥‥167
04-03-06 Ajax+Perl+MySQL ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥168
・Ajaxなクライアント・サーバー通信(MySQLからPerlでデータ取得)‥‥172
04-04 Ajaxで認証‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥170
04-04-01 Basic認証について‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥170
・パスワードファイル(.password)‥‥‥‥‥‥‥‥‥‥‥‥‥‥171
P171(3版でFix)
誤・Windowsの場合
本書のサンプルサイト、、、から3行分。
↓
正・Windowsの場合
Apacheの場合は、binディレクトリ内にあるhtpasswd.exeでLinuxの場合と同様に作ります。
( IISの場合は、[コントロールパネル]-[管理ツール]からIISサービスを選び、
[Web サイトのプロパティ] - [ディレクトリ/ファイル セキュリティ] -
[匿名アクセスおよび認証コントロール]の「編集」で「基本認証」へチェックし、
Windows ユーザー アカウントのパスワードを利用します。)
・アクセス制御用ファイル(.htaccess)‥‥‥‥‥‥‥‥‥‥‥‥172
04-04-02 Basic認証ページを受信(1) ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥174
・Basic認証ページのデータをAjaxで動的に読み込む‥‥‥‥‥‥176
04-04-03 Basic認証ページを受信(2) ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥177
・Base64でパスワードをエンコードし、Basic認証‥‥‥‥‥‥‥179
04-05 暗号化通信SSLの利用‥‥‥‥‥‥‥‥‥‥‥‥‥‥180
04-05-01 SSLで受信する‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥180
P180
誤ファイル構成のtest.xml
↓
正test.txt
・Ajaxなクライアント・サーバー通信でSSLを利用‥‥‥‥‥‥‥181
P181
誤UTF-8エンコード
↓
正UTF-8+URIエンコード
04-05-02 SSL+Basic認証‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥182
・Ajaxなクライアント・サーバー通信でSSLを利用‥‥‥‥‥‥‥184
P184
誤04-05-01(→P.180)
↓
正04-04-02(→P.180)
CHAPTER 05 送信時イベントタイプ別サンプル‥‥‥‥ 185
05-01 (onclick)ボタンをクリック‥‥‥‥‥‥‥‥‥‥186
05-01-01 入力フィールド→PHP→innerHTML ‥‥‥‥‥‥‥‥‥‥‥186
05-01-02 入力フィールド→PHP→入力フィールド‥‥‥‥‥‥‥‥‥‥188
05-01-03 入力フィールド→Perl→入力フィールド‥‥‥‥‥‥‥‥‥‥190
05-02 (onclick)ラジオボタンをクリック‥‥‥‥‥‥192
05-02-01 ラジオボタン→PHP→入力フィールド‥‥‥‥‥‥‥‥‥‥‥192
05-02-02 ラジオボタン→PHP→innerHTML ‥‥‥‥‥‥‥‥‥‥‥‥194
P195
誤このとき、すべてのタグを有効にすることはセキュリティ上絶対に
さけるべきです。
↓
正実際の応用場面では入力データを合成してレスポンスするケースが
多いと思いますので、このケースでは過剰ともいえるタグ無効化/
復号化の処理をあえて入れてあります。少なくとも、ユーザーからの入力データ
を返す場合は、すべてのタグを有効にすることはセキュリティ上絶対にさけるべ
きです。
一応、念のために、サーバー側のタグ無効化/復号化の処理をスルーさせる予備
のダウンロードサンプルを追加しました。
→05-02-02 sample2.htm。
05-03 (onclick)リンククリック‥‥‥‥‥‥‥‥‥‥‥‥196
05-03-01 リンク→TEXTファイル→innerHTML ‥‥‥‥‥‥‥‥‥‥‥196
P197
誤UTF-8エンコード
↓
正UTF-8+URIエンコード
05-04 (onmouseover)リンクに触る‥‥‥‥‥‥‥‥198
05-04-01 リンク→HTMLファイル→innerHTML ‥‥‥‥‥‥‥‥‥‥‥198
05-05 (onfocus)入力フィールドへカーソルを入れる‥‥‥200
05-05-02 入力フィールド→PHP→innerHTML ‥‥‥‥‥‥‥‥‥‥‥200
P200
誤タイミングで、フォームに入力したデータをPHPへAjax送信し
↓
正タイミングで、リクエストをPHPへAjax送信し
05-06 (onblur)入力フィールドからカーソルを出す‥‥‥‥202
05-06-01 入力フィールド→PHP→innerHTML ‥‥‥‥‥‥‥‥‥‥‥202
P202
誤コードのコメントの「関数sendRequest()で""を送出」
↓
正「関数sendRequest()でデータを送出」
05-07 (onkeyup)入力フィールドで毎時入力時‥‥‥204
05-07-01 入力フィールド→PHP→innerHTML ‥‥‥‥‥‥‥‥‥‥‥204
P204
誤コードのコメントの「関数sendRequest()で""を送出」
↓
正「関数sendRequest()でデータを送出」
05-08 (onkeypress)入力フィールドで改行する‥‥206
P206
誤コードのコメントの「関数sendRequest()で""を送出」
↓
正「関数sendRequest()でデータを送出」
05-08-01 入力フィールド→PHP→innerHTML ‥‥‥‥‥‥‥‥‥‥‥206
05-09 (onchange)SELECT ‥‥‥‥‥‥‥‥‥‥‥‥‥208
05-09-01 ボタン→XML→SELECT書き換え‥‥‥‥‥‥‥‥‥‥‥‥‥208
P211 コラム
誤(2箇所)
var value = xdoc.getElementsByTagName("value")
↓
正
var values = xdoc.getElementsByTagName("value")
P211 コラム
誤(2箇所)
var value1 = data.values[0]....
↓
正
var value1 = values[0]....
05-09-02 SELECT選択→XML→SELECT書き換え‥‥‥‥‥‥‥‥‥‥212
CHAPTER 06 入出力エフェクト‥‥‥‥‥‥‥‥‥‥‥‥‥ 217
06-01 不透明度‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥218
06-01-01 半透明DIVへ出力‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥218
06-01-02 半透明のフェードインで現れるメニュー‥‥‥‥‥‥‥‥‥‥220
06-02 フロート‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥224
06-02-01 ドラッガブルフロートなDIVへ出力‥‥‥‥‥‥‥‥‥‥‥‥224
P225
誤
サーバー側 PHP
↓
正
クライアント側 JavaScript
06-02-02 フロートDIVへフェードインしつつ出力‥‥‥‥‥‥‥‥‥‥235
06-03 スライダー‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥239
06-03-01 スライダーバーでデータ読み込み‥‥‥‥‥‥‥‥‥‥‥‥‥239
P241(3版でFix)
誤div1.onmoveがfirefox、safariで動作しないため修正
//スライダーを動かした時に発生するイベント
div1.onmove = function(){
//現在位置Xを取得
nowDiv1X = parseInt(div1.getMouseX())
}
//スライダーからマウスを上げた時に発生するイベント
div1.onmouseup = function(){
↓
正1 (ダウンロードサンプルはこれに修正しました)
//スライダーからマウスを上げた時に発生するイベント
div1.onmouseup = function(event){
//現在位置Xを取得
nowDiv1X = parseInt(div1.getMouseX(event))
↓
正2
//スライダーを動かした時に発生するイベント
div1.onmousemove = div1.onmove = function(event){
//現在位置Xを取得
nowDiv1X = parseInt(div1.getMouseX(event))
}
//スライダーからマウスを上げた時に発生するイベント
div1.onmouseup = function(){
P242
誤
hello.htmを読み込む
↓
正
d*.htmを読み込む
06-04 ドラッグ&ドロップ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥243
P243 ファイル構成
誤
└html/
├jslib_ajax.js
├jsgt_dragfloat07.js
├menu0.htm
├menu1.htm
├menu2.htm
└sample.htm
↓
正
└html/
├jslib_ajax.js
├jsgt_dragfloat07.js
├data1~5.htm
├画像 yagi.jpg etc.
└sample.htm
06-04-01 ドラッグ&ドロップで選択したHTMLを表示‥‥‥‥‥‥‥‥243
P246(3版でFix)
誤リセット関数resetSelにitem5とitem6が抜けていました。
正→sample
正→フェードイン版
P244 P255
誤
ライブラリ JavaScript
↓
正
クライアント側 JavaScript
CHAPTER 07 XML ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 249
07-01 XMLを読み込む‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥250
07-01-01 responseTextとresponseXMLの違い‥‥‥‥‥‥‥‥‥‥‥250
07-01-02 メソッドを使ってDOMを取り出す‥‥‥‥‥‥‥‥‥‥‥‥252
07-02 RSSを読み込む(JKL.ParseXML)‥‥‥‥‥‥255
P256
誤
<test>data</test>
↓
正
<test>data1</test>
07-03 別ドメインのRSSを読み込む‥‥‥‥‥‥‥‥‥‥259
P259
誤
下から二行目の JavaScropt
↓
正
JavaScript
CHAPTER 08 その他‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 263
08-01 クロスブラウザ・ベクターグラフィック‥‥‥‥264
08-01-01 DrawingCanvasクラス‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥264
08-01-02 三角形を描画する‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥265
ダウンロードファイルcanvasParentのPが小文字になっていました。
誤<div id="canvasParent"></div>
↓
正<div id="canvasparent"></div>
08-01-03 1ヵ月分のCSVデータを読み込んでグラフ化する‥‥‥‥‥‥266
08-02 郵便番号・住所あいまい検索‥‥‥‥‥‥‥‥‥‥‥269
08-02-01 AjaSQL ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥269
08-02-02 郵便番号・住所あいまい検索サンプル‥‥‥‥‥‥‥‥‥‥‥269
P270
誤
SQL文を書き換えたい場合は、jslb_ajasql037.js
↓
正
SQL文を書き換えたい場合は、ajasql_zip2addr001.js
08-02-03 郵便番号データをデータベース化する‥‥‥‥‥‥‥‥‥‥‥274
・1:ダウンロード‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥274
・2:ファイルフォーマット‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥275
・3:SQLiteによるデータベースの作成‥‥‥‥‥‥‥‥‥‥‥‥276
・4:テーブル作成‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥277
・5:データを検索する‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥278
・6:Webで検索できるようにする‥‥‥‥‥‥‥‥‥‥‥‥‥‥279
APPENDIX ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 281
APPENDIX01 HTTP1.0/1.1リファレンス‥‥‥‥‥‥‥‥‥‥‥282
AP01-01 HTTPヘッダ一覧‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥282
P283
誤Cache-Controlヘッダが2つある
↓
正片方を削除
AP01-02 HTTPステータス一覧‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥286
AP01-03 HTTPメソッド一覧‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥287
APPENDIX02
Google Maps APIクラスリファレンス‥‥‥‥288
AP02-01 Gmap ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥288
・コンストラクタ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥288
・メソッド‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥289
AP02-02 Gmaker ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥296
・コンストラクタ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥296
・メソッド‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥296
・イベント‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥297
AP02-03 Gpolyline ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥297
・コンストラクタ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥297
AP02-04 Gicon ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥298
・コンストラクタ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥298
・プロパティ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥298
AP02-05 Gevent ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥300
・静的なメソッド‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥300
AP02-06 GXmlHttp ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥302
・静的なメソッド‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥302
AP02-07 GXml ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥303
・静的なメソッド‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥303
AP02-08 GXslt ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥304
・静的なメソッド‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥304
・メソッド‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥304
AP02-09 Gpoint ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥304
・コンストラクタ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥304
・プロパティ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥304
AP02-10 Gsize ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥305
・コンストラクタ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥305
・プロパティ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥305
AP02-11 Gbounds‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥306
・コンストラクタ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥306
・プロパティ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥306
Index
2006.1.10 簡易ライブラリの関数sendRequest()で送信するデータの「&」や「=」が
送信できない問題については、とりあえず次のように対処してみてください。
→05-01-01。
(今後ライブラリ側を修正予定です)
CHAPTER03~CHAPTER08 ダウンロードサンプル中にlanguage属性名がlanguegeとなっているものが
ありましたので修正しました。この機会に、language = "JavaScript"もすべて、
type = "text/javascript"へ統一することにしました(2005.12.25)。
誤languege = "JavaScript"
↓
正type = "text/javascript"
旧language = "JavaScript"
↓
新type = "text/javascript"