Google Desktop Search をインストールすると、ウェブの方の Google に行ったときに「Desktop」のタブが増えます。

ローカルの PC にアプリケーションがインストールされているかどうかを判定してウェブサイトが動的に表示を変更する...というのは一見簡単そう(?)に見えてよくよく考えてみると実は結構難しい。果たして Google はどうやっているんだろう、と miyagawa 氏と話題になりました。
この "Desktop" のタブは Internet Explorer と Firefox で表示されるのを確認しました。IE コンポーネントを使っているはずの Donut P はなぜか駄目。ふむ。ちょっと気持ち悪いなと思いつつも Cookie だろうと予想して Firefox の Live HTTP Headers でヘッダを追いかけてみました。が、Google.com にアクセスするときは Cookie 送信してますが、Desktop Search の方で Cookie を食わされてる様子はなし。例の s=○○ のパラメータを Cookie にエンコードして送信して、クライアントを識別していると思ったのですが。
ここで Donut P では出力されずに IE や Firefox では表示されることを考えてみると、どうもブラウザに HTML を表示するレンダリングのあたりにフックしてほげってる感じがします。IE、Firefox ではそのあたりの部品を同じものを使ってて、Donut P は使ってないとかすっ飛ばしてるとかそんなとこなのかな。教えて Windows プログラマな人。
IEプラグインなら表示しているページのIEオブジェクトを取得して表示内容弄れます。
これはJavaScriptによる操作とおなじなのでHTMLソースにはDesktopの文字は含まれてない、と思います。
GoogleDesktopIE.dllというのがIEプラグインとして動いてるみたいです。
Firefoxは知りません(ぉ
[1] Posted by: typester at October 15, 2004 03:00 PM [返信]Desktopの文字、ソースに含まれてますね、すみません。
うーんとすると、どうやっているのだろう。
http://www.moregoogle.com/
似た動作のアレ。
やっぱりdllがごそごそやってるみたいで。
いろいろなブラウザで試してみました。
Opera…リンクは表示されるけどIE5を入れてくださいといわれる
Sleipnir…リンクは表示されないが、検索はできる
Firefox…リンクも表示されるし検索もできる
下のブログで調べてる人発見!
ていうか、みなさん頭いいなぁ
うらやましい
http://blog.takawo.net/000041.html
[5] Posted by: ならじゅん at October 15, 2004 07:22 PM [返信]