二〇〇七年 三月 二十九日(

旧暦 二月十一日 赤口
丁亥年 二月十一日

マウスで文字列を選択

このカテゴリでエントリするのは、すごい久しぶり・・・。

さて、しばらく前にSimpleAPIというサイトのWikipediaAPIというのを知って、なにか面白い使いかたはないかな、と考えていたんだけど、はたしてあんまりいい考えは浮かばない。

また、それとは別にJavaScriptのフレームワークであるPrototypeというのもいじってみたかったのだけど、こちらも特にこれといって使う場面がない。

そんなこんなで思い付いたのが、今回のネタ。

エントリの中の文字列をマウスで選択すると、その単語をWikipediaで検索して表示するという仕掛け。

まずPrototypeのなかのイベントを取得するための Event.observe をつかって、選択後のmouseupのイベントをトリガにして選択された文字列を取得。
おなじくAjax.RequestをつかってWikipediaAPIに検索語を投げ、検索結果を取得している。(ajaxではサイトをまたいでリクエストは投げられないので、実際には同じサイト内に置いたphpを介して取得したXML元に検索結果を成形して使っている)

で、検索結果を表示するウィンドウには、Prototype Window Class というライブラリを使った。

なんだか少しずつ仕様を変えながら作ったのでソースはめちゃめちゃな感じだけど、とりあえず動くようになった。もっとめんどくさいかと思ったけど、Prototypeを使ったので、どうでもいいようなことにハマるということがなく、意外とスムーズにいった。

ただ、ときどきWikipediaAPIとのやりとりが上手くいかないらしく、検索結果がうまく取得できないことがあるのだが、その原因がAPIのほうにあるのか、こちら側のphpの処理がうまくいってないのか、いまいちよくわからない。まあ、そのへんはおいおい調べてみようかと。

しかし、クロス・ブラウザのこととかほとんど考えなくても、この程度なら比較的簡単にできてしまうのだから、フレームワークはエラいなぁ。(・・・あ、Macでは動作確認してません。あしからず。)

Posted by mura at 2007年3月29日 00:20 | トラックバック
コメント
コメントする









名前、アドレスを登録しますか?






トラックバック

[Ajax] M’s folder: マウスで文字列を選択
概要 Movable Typeのプラグイン「M’s folder: MT 和風日付表示プラグイン」の作者のmuraさんが、こんなことを試していました。 エント...
Weblog: Scrapcode@はてなダイアリー
時刻: 2007年03月31日 13:59

このエントリのトラックバックURL

http://www.villagewood.net/mt/mt-tb.cgi/384

◇このサイトのサーバの調子によって、トラックバックを送信してもエラーが表示されたり、すぐにこのページに反映できないときがあります。ですが、トラックバック自体は送られていますので、重ねて送っていただかなくても大丈夫です。こちらでも出来るだけ早く反映できるようにrebuildしますので、ご容赦ください。
参照元URL
関連エントリ