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/

リクルートWEBサービス
http://webservice.recruit.co.jp/about.html