jQueryを使ってみる
最近はprototype.js+script.aculo.usではなくjQueryが流行らしい。リクルートWEBサービスをネタに日曜スクリプティングしてみる。リクルートのAPIキーを取得して、とりあえずGETリクエストを投げてみたら、Firefox 3で以下のエラーになった。
Access to restricted URI denied "code: "1012
XMLHttpRequest()のクロスドメイン制限が原因。また、上位ディレクトリにあるローカルファイルに対しても同じエラーが発生するらしい。
http://wiki.mozilla.gr.jp/wiki.cgi?page=BugTrack-Fx3%2F90
なのでレスポンスはJSONPで受け取ることにした。
エイビーロードのAPIを使ってエリア一覧、国一覧、都市一覧のマルチコンボを作る。
これだけだと面白くないので、選択された国の名前を使ってWikipediaから国情報をカット&ペーストする処理を作る。正規表現でidがinfoboxCountryのdl要素を切り出すことにした。
/<dl\s+id=\"infoboxCountry\">[\s\S]+?<\/dl>/m
JavaScriptの正規表現では.は改行を含まないので、mオプションを使うときの改行を含む任意の1文字指定には[\s\S]とか([\r\n]|.)とか書く必要がある。
jQuery 1.2.6 日本語リファレンス
http://semooh.jp/jquery/api/events/