2007-06-25

Windows版Safariの隠しメニュー

本日、日本語表示に対応したWindows版Safariがリリースされました。日本語に対応したのは表示のみで、フォームやメニューはまだのようです。10月に正式リリースされるとのことですので、その後は利用するユーザが増えてくるかもしれませんね。

ユーザが増えるとサービス提供者側としても、サービスをSafariに対応させる必要が出てくると思います。そうなった際に下記のTipsがとても役に立つのではないでしょうか。

Windows版Safariでユーザーエージェントを偽装する方法

Safariのデバック機能を有効化するというもので、タイトルはユーザエージェントについてですがJavaScriptコンソールも使えるようになります。JavaScriptの動作確認時に重宝しそうです。

Learning  jQuery: Better Interaction Design and Web Development With Simple Javascript TechniquesLearning jQuery: Better Interaction Design and Web Development With Simple Javascript Techniques
Jonathan Chaffer Karl Swedberg

Jquery Reference Guide Jquery in Action 2ちゃんねるはなぜ潰れないのか? (扶桑社新書 14) デザイニング・インターフェース ―パターンによる実践的インタラクションデザイン 初めてのJavaScript―Ajax&DOM対応

by G-Tools

2007-06-18

(追記)jQueryのグローバルオブジェクトとオブジェクト書き換えの範囲

追記です。もう1つグローバルオブジェクトの書き換えがありました。

XMLHttpRequest が存在しないとき、XMLHttpRequest を ActiveXObject("Microsoft.XMLHTTP")
を生成する関数にします。

jQuery: The Write Less, Do More, JavaScript Library
jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages. jQuery is designed to change the way that you write JavaScript.
jQuery は JavaScript ライブラリの中で、グローバルオブジェクトとオブジェクト書き換えが少なく、他の JavaScript ライブラリとの親和性が高いと聞いたことがあります。そこで jQuery 1.1.2 のソースコードを読みながら、グローバルオブジェクトとオブジェクト書き換えの範囲を調べてみました。

jQuery というグローバルオブジェクトがあり、このオブジェクトは $ として参照できます。ただし $ というオブジェクトは、他の多くの JavaScript ライブラリも使っているため書き換える可能性があります。

jQuery はこの問題を利用者の判断で回避できるような仕組みを提供しています。jQuery.noConflict() を使うと、$ が参照する jQuery 無効にして jQuery を取り込む直前の $ オブジェクトを回復します。Using jQuery with Other Libraries

undefined (window.undefined) という undefined を表すグローバルオブジェクトがあります。jQuery の中での undefined とは、この undefined オブジェクトを使って判定しています。

jQuery.event を使ってイベントを操作すると、指定した element に $events というオブジェクトを追加します。この $events は追加したイベントハンドラを保持します。さらに element の onXxxx を jQuery.handle に書き換えて、イベントをフックします。なお、既存の onXxxx の値は $events の1つとして保持します。

以上です。

$ オブジェクトの書き換えは jQuery.noConflict() を使って回避し、直接 jQuery オブジェクトを参照すればよいですね。window.undefined は実害はないでしょう。element の $events オブジェクトの書き換えを回避することはできないので、element の onXxxx が書き換わるタイミングや順番を注意するというところでしょうか。

Learning  jQuery: Better Interaction Design and Web Development With Simple Javascript TechniquesLearning jQuery: Better Interaction Design and Web Development With Simple Javascript Techniques
Jonathan Chaffer Karl Swedberg

Jquery Reference Guide Jquery in Action 2ちゃんねるはなぜ潰れないのか? (扶桑社新書 14) デザイニング・インターフェース ―パターンによる実践的インタラクションデザイン 初めてのJavaScript―Ajax&DOM対応

by G-Tools

2007-06-17

jQueryのグローバルオブジェクトとオブジェクト書き換えの範囲

jQuery: The Write Less, Do More, JavaScript Library
jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages. jQuery is designed to change the way that you write JavaScript.
jQuery は JavaScript ライブラリの中で、グローバルオブジェクトとオブジェクト書き換えが少なく、他の JavaScript ライブラリとの親和性が高いと聞いたことがあります。そこで jQuery 1.1.2 のソースコードを読みながら、グローバルオブジェクトとオブジェクト書き換えの範囲を調べてみました。

jQuery というグローバルオブジェクトがあり、このオブジェクトは $ として参照できます。ただし $ というオブジェクトは、他の多くの JavaScript ライブラリも使っているため書き換える可能性があります。

jQuery はこの問題を利用者の判断で回避できるような仕組みを提供しています。jQuery.noConflict() を使うと、$ が参照する jQuery 無効にして jQuery を取り込む直前の $ オブジェクトを回復します。Using jQuery with Other Libraries

undefined (window.undefined) という undefined を表すグローバルオブジェクトがあります。jQuery の中での undefined とは、この undefined オブジェクトを使って判定しています。

jQuery.event を使ってイベントを操作すると、指定した element に $events というオブジェクトを追加します。この $events は追加したイベントハンドラを保持します。さらに element の onXxxx を jQuery.handle に書き換えて、イベントをフックします。なお、既存の onXxxx の値は $events の1つとして保持します。

以上です。

$ オブジェクトの書き換えは jQuery.noConflict() を使って回避し、直接 jQuery オブジェクトを参照すればよいですね。window.undefined は実害はないでしょう。element の $events オブジェクトの書き換えを回避することはできないので、element の onXxxx が書き換わるタイミングや順番を注意するというところでしょうか。

Learning  jQuery: Better Interaction Design and Web Development With Simple Javascript TechniquesLearning jQuery: Better Interaction Design and Web Development With Simple Javascript Techniques
Jonathan Chaffer Karl Swedberg

Jquery Reference Guide Jquery in Action 2ちゃんねるはなぜ潰れないのか? (扶桑社新書 14) デザイニング・インターフェース ―パターンによる実践的インタラクションデザイン 初めてのJavaScript―Ajax&DOM対応

by G-Tools

2007-06-10

Postal.Coderクラスがよくわかるダイジェスト版のリファレンスを用意しました

住所の単語から郵便番号を検索できる Ajax API をリリース
住所の単語から郵便番号を検索できるクロスドメインに対応した Ajax API をリリースしました。住所の単語から郵便番号を検索する Postal.Coder クラスを追加します。Postal.Coder クラスを使うと "横浜" や "新宿" といった単語を含む住所の郵便番号を検索できます。
続けて Postal.Coderクラスがよくわかるダイジェスト版のリファレンスを用意しました。Postal.Coder クラスの使い方や振る舞いがよくわかるように、小さなケースごとに実例をまじえて説明しています。

Postal Search Ajax API ダイジェスト
Postal.Coder クラス

住所の単語から郵便番号を検索する

住所の単語の書式をチェックする

郵便番号が見つからないとき

郵便番号が見つかったとき

複数の郵便番号が見つかったとき

見つかった郵便番号を取得する

エラーが起きたとき

エラーの原因を調べる

検索を中止する

検索のタイムアウト時間を長くする

2007-06-07

住所の単語から郵便番号を検索してその住所を表示するサンプルを追加しました

住所の単語から郵便番号を検索できる Ajax API をリリース
住所の単語から郵便番号を検索できるクロスドメインに対応した Ajax API をリリースしました。住所の単語から郵便番号を検索する Postal.Coder クラスを追加します。Postal.Coder クラスを使うと "横浜" や "新宿" といった単語を含む住所の郵便番号を検索できます。
さらに Postal.Coder クラスを使った新しいサンプルを追加しました。このサンプルは Postal.Lookup クラスを組み合わせた実例にもなっています。

こちらから Postal Search Ajax API サンプル 住所の単語から郵便番号を検索してその住所を表示する をご覧ください。

このサンプルは Postal.Coder クラス を使って、指定した住所の単語から郵便番号を検索し、その結果をリスト表示します。さらに Postal.Lookup クラス を使って、その郵便番号から住所を検索し、その結果を表示します。

2007-06-06

住所の単語から郵便番号を検索できる Ajax API をリリース

住所の単語から郵便番号を検索できるクロスドメインに対応した Ajax API をリリースしました。

住所の単語から郵便番号を検索する Postal.Coder クラスを追加します。Postal.Coder クラスを使うと "横浜" や "新宿" といった単語を含む住所の郵便番号を検索できます。

指定できる住所の単語は、次の記事でご紹介したとおり、住所を分かち書きしたときの空白区切りの単位を指しています。例えば "神奈川県 横浜市 西区 北幸" という住所のとき、その単語は "横浜市"、"西区"、"北幸" になります。

なお、都道府県は住所の単語から除外していますので、"神奈川県" を指定しても郵便番号は検索できません。


地方公共団体までの住所を空白区切りでわかち書きするようにしました!
地方公共団体までの住所を空白区切りでわかち書きするようにしました!
今まで、政令指定都市のデータは、次のとおり市区の語が連結していましたが、2007年4月15日から、市区の語を空白で区切るようにしました。

Postal.Coder クラスの使い方がわかるサンプルを用意しましたので 住所の単語から郵便番号を検索する をお試しください。さらに詳しい内容は Postal Search Ajax API リファレンス を参照してください。

ジオコーダを使わずに郵便番号の周辺地図を表示する (by Google Maps API)

郵便番号で検索した住所の緯度と経度を取得できます
郵便番号で検索した住所の緯度と経度が取得できるようになりました。これにより、緯度と経度をキーにして、他の WEB サービス(API) と連携しやすくなりました。
上のとおり、郵便番号から直接その緯度と経度が取得できるため、ジオコーダを使わなくても Google Maps API などの地図 API と連携できるようになりました。

そこで、次のような新しいサンプルを用意しました。Postal Search Ajax API の理解や活用に役立ててください。

ジオコーダを使わずに郵便番号の周辺地図を表示する (by Google Maps API)

このサンプルは、指定した郵便番号のおおよその位置を地図上のマーカーで表します。マーカーをポイントすると、その郵便番号のデータを情報ウィンドウに表示します。また、マーカーをクリックすると、その周辺を拡大して表示します。

2007-06-05

郵便番号で検索した住所の緯度と経度を取得できます

郵便番号で検索した住所の緯度と経度が取得できるようになりました。これにより、緯度と経度をキーにして、他の WEB サービス(API) と連携しやすくなりました。

使い方と実例を用意しましたので Postal Search Ajax API ダイジェスト をお試しください。さらに詳しい内容は Postal Search Ajax API リファレンス をご覧ください。

郵便番号の緯度と経度は 日本郵政公社 が提供する郵便番号データと 国土交通省国土計画局 が提供する街区レベル位置参照情報のそれぞれの住所を突合せて(名寄せして)付与しています。

郵便番号は 2007 年の最新データ、街区レベル位置参照情報は 2006 年の古いデータに基づくため、住所の突合せができない市町村合併した地域では、郵便番号の緯度と経度が期待と異なることがあります。このときは、その住所の県庁所在地の緯度と経度を付与して対応しています。

Postal.UA クラスを非推奨とします。変わりに Postal.Lookup クラスを使用してください。

2007年6月5日から Postal.UA クラスを非推奨とします。今後は、変わりに Postal.Lookup クラスを使用してください。将来 Postal.UA クラスは使用できなくなります。

Postal.UA クラスと Postal.Lookup クラスは、クラス名が異なるのみで、その仕様に違いはありません。ソースコードの中の Postal.UA を Postal.Lookup に置き換えるだけで、今までどおり動作します。

各クラスの詳しい内容は Postal Search Ajax API リファレンス を参照してください。

街区レベル位置参照情報に伴う利用規約の改訂のお知らせ

国土交通省国土計画局 が提供する街区レベル位置参照情報の利用に伴い、2007年6月5日付けで Postal Search APIs & Solutions 利用規約 を次のとおり改訂しました。

改訂前

注意事項
本サービスは 日本郵政公社 が提供する郵便番号データを加工して利用しています。ただし、運営者は、最新の郵便番号データを継続して提供する義務を負いません。

改訂後

注意事項
本サービスは、日本郵政公社が提供する郵便番号データ、および国土交通省国土計画局が提供する街区レベル位置参照情報を加工して利用しています。ただし、運営者は、これらの最新のデータを継続して提供する義務を負いません。

ご確認ください。

2007-06-04

gzipによる圧縮でデータ転送を効率化しました

Accept-Encoding: gzip の HTTP ヘッダをリクエストするブラウザに対して、gzip を使って圧縮したデータをレスポンスするようにしました。これにより、圧縮なしのときと比較して 70% 前後のデータ量を削減でき、データ転送がとても効率化しました。

なお Accept-Encoding: gzip をリクエストしないブラウザに対しては、今までどおり圧縮なしのデータをレスポンスします。

多くのブラウザは Accept-Encoding: gzip をリクエストしますが、Internet Explorer がプロキシ接続を使うときは Accept-Encoding: gzip をリクエストしません。これは Internet Explorer がプロキシ接続を使うときの HTTP バージョンが既定で 1.0 となっているためです。

Internet Explorer でプロキシ接続を使い、かつデータ圧縮を有効にしたいときは、オプションメニューの詳細設定タブで「プロキシ接続で HTTP 1.1 を使う」のチェックを有効にしてください。