ブログ引越しました!
移転先はこちら

人気エントリー

2008年03月28日

Firefox スマートキーワードの正体

かなり便利なのにあんまり使われていないFirefoxのスマートキーワード

その仕組みとトラブル回避方法をご紹介します。

仕組み


実はこれ、Bookmarkをちょっと拡張しただけ。ブックマークのプロパティを見ると名前、URL、キーワード、説明(英語版では Name, Location, Keyword, Description)という項目がある。
キーワード登録した場合のURLの、%sに注目。この%s、スマートキーワードで指定した文字列がここに挿入されることを意味する。

つまり、URLが"http://foo/bar/%s"、キーワードが foo だとしたら、ロケーションバーに "foo hoge"と入力すると、"http://foo/bar/hoge"にアクセスするということになる。
さて、何でこれで指定のサイトでキーワード検索できるのかというと、htmlを見れば、次にどういうページに行くのか書いてあるんですよ。

例えば Google の場合、検索フォームのhtmlはこんな感じになってる。
<form action="/search" name=f>
<input name=hl type=hidden value=ja>

で、FirefoxがブックマークしたURLがこれ
http://www.google.co.jp/search?hl=ja&q=%s&lr=

これが分かってれば不具合が合っても融通が利く。

不具合対策


検索結果がエラーになる

フォームに入力された文字列と、それによって開くページとの関係は上のように簡単に分かる。ただ、たまにはFirefoxが作るURLとは違うURLに飛ぶ場合もあり、スマートキーワードではエラーになってしまう。

こんなときはどうしたらいいのかというと
まず、ページでキーワードを普通に検索する。結果が表示されたらそのときのURLをチェック。そのURLの中からさっき指定したキーワードを探し出してそそ部分を %s に置き換えてブックマークに登録する。ブックマークに追加するときはキーワードも設定しておきましょう。


日本語だと上手くいかない

さて、他にありがちな問題は英語だと大丈夫なのに日本語だと失敗する、という場合です。この場合はキーワードのエンコード処理が間違ってます。
Firefoxのプロファイル(Windowsの場合 C:\Documents and Settings\ユーザー名\Application Data\Mozilla\Firefox\Profiles )を変更しましょう。

Profilesの下にあるbookmarks.htmlLAST CHARSET を変更します。エンコードが何か分からなければとりあえず下記3パターンを試してみましょう。
 LAST_CHARSET="EUC-JP"
LAST_CHARSET="Shift_JIS"
LAST_CHARSET="UTF-8"


これで大体のサイトは問題ないはず。
タグ:Firefox
posted by itog at 00:27| ソフトウェアTIPS | このブログの読者になる | 更新情報をチェックする