トップ «前の日記(2005-02-18) 最新 次の日記(2005-02-20)» 編集

いしなお!

2002|01|02|03|04|05|06|07|08|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|02|03|04|07|
2009|03|

2005-02-19 [長年日記]

_ [MM] AirH" Phoneからの位置情報メモ (00:37)

AirH" Phone(動作確認済みなのは、AH-K3001Vのみ)からの位置情報メモの投稿機能を用意しました。

AirH" Phoneから1470.net 位置情報APIにアクセスすると、AirH" Phone用というリンクがあるので、それをクリックしてください。位置情報を取得してよいか聞かれ、はいを選ぶと位置情報を取得します。

取得結果ページには、MMへのメモ登録リンク、Yahoo! Mapの該当位置へのリンクが表示されるので、MMへのメモ登録を選択してください。TypeKey認証が行われたあと、登録フォームへと遷移します。

なおAH-K3001Vにおいては、位置情報精度対決! AH-K3001V v.s. AH-J3002V!によれば、AirH" Phone用をブックマークしておき、パケット通信が切断された状態から直接上記ブックマークを開くことで、精度の高い位置情報が取得できるそうです。ただし、試してみた限りでは200メートル程度の誤差は出るようですが。

ちなみにMM自体はまだ携帯端末対応を全然やっていないので、Operaが使えるAirH" Phoneといえどもあまり使い勝手は良くありません。そのうち徐々に携帯電話での使い勝手も向上させていきます。

_ [日常] 風邪をひいたくさい (02:10)

今日の夜は天気予報通り雪が降っていて、昼間の好天と比べてちょっとびっくりしたわけだけど、雪で濡れたせいか家に着いたら猛烈に頭が痛くなってきた。風邪かな。それとも会社でもついに罹患者が出たインフルエンザの方か。

_ [MM] URL検索を追加 (14:26)

MMに登録されているURLを検索する機能を追加しました。

この日記に関するURLを検索したい場合は、

なんて感じで使います。現在表示しているページをこの機能を使って検索するbookmarkletは、

javascript:document.location.href=
'http://1470.net/mm/searchurl?url='+
escape(document.location.href);

なんて感じです。

_ [MM] URLを利用した関連情報表示に対応しました (15:39)

従来は、あるメモに関する情報を表示する際には、

という形でメモの内部IDを使った指定方法しかできませんでしたが、新しく、

という形での関連情報表示に対応しました。上記のような指定をした場合、そのURLについて最初に登録されたメモに関連する情報が表示されます。もしもそのURLに関するメモが存在しない場合は、そのURLに関するメモを登録するフォームが開きます。

この機能を使って、現在表示しているページのMMにおける関連情報を呼び出すbookmarkletは、

javascript:document.location.href=
'http://1470.net/mm/related?url='+
escape(document.location.href);

なんて感じになります。

_ [MM] JavaScriptで選択した文章を投稿フォームに渡す (16:53)

このあたりで実験されている例のアレですが、JavaScriptで非ASCIIなテキストをescapeとかencodeURIComponentすると、Unicodeとしてエンコードされて%uxxxxとか&#nnnn;とかになるっぽいですね。

で、PHPのurldecodeは文字コードは環境依存の%xx形式しかデコードできない(けど、どちらかというと現状ではこちらの方が標準的な処理だよね)んで、JavaScriptでエンコードされた文字列をデコードするには、それ専用のロジックを追加しなければならないようです。

が、基本的にmemo_form.htmlに渡される引数は、一般的なCGI同士の連携で使えるようにするのが主なので、あまり非標準的な動きはさせたくありません。現状私はこの件に関する知識が足りていないため、JavaScriptから渡されたパラメータのデコードに中途半端に対応すると、なんとなくろくなことにならない気がします。

ということで、ひとまずは上記のような形式でJavaScriptでエンコードされた文字列のデコードには対応しないことにします。ただ、各パラメータで文字コードの自動認識に対応したので、ひとまず

なんてbookmarkletを使うと、運が良ければ選択した部分がメモ本文として渡されます。けど、選択部分の内容によってはうまく渡されなかったり(文字欠け)、あるいはうまく文字コードが認識できなかったり(文字化け)することがありますので、まあちょっと便利な場合もあるよね、程度にしか使えませんが。

jounoさんのところで紹介されていたところをながめてみたところ

一番手軽でそれなりの結果が得られる方法としては、encodeURI関数を使ってエンコードする方法っぽいので、それに変えてみた。

本日のツッコミ(全2件) [ツッコミを入れる]
_ hyuki (2005-02-19 16:41)

2つ目の例、typoです<br>s/realted/related/

_ ishinao (2005-02-19 18:04)

ありがとうございます。直しておきました。

[]