UbiquityでFirefox更新情報 Wiki*を検索するコマンドです。
コマンド「fx-wikiwiki-search」と入力(途中まででもOK)してEnterキーを押すと、Firefox更新情報 Wiki*のトップページを開きます。
閲覧ページ内の文字列を範囲選択してからこのコマンドを入力したり、このコマンドの後に文字列を記入してからEnterキーを押すと、その文字列での検索結果ページを開きます。Enterキーを押さずに待っていると、検索結果(の一部)をプレビュー表示します。プレビュー内のリンクをクリックするとそのページを開きます。
- 2008/09/07:コマンドの最後に半角スペースを2つ記入したときプレビュー表示するよう変更。
- 2008/10/23:Ver 0.1.2に暫定対応しました。以前のバージョンでは動作しません。
- 2008/10/23:半角スペースを2つ記入しなくても、すぐプレビュー表示を行うように戻しました。
- 2009/01/11:日本語で検索できなかったのを修正。Ver 0.1.4で動作確認。
- 2009/01/11:記入し終えてから0.5秒後にプレビュー表示のデータを取得するようにしました。
以下、コマンドの追加と削除について。
Ubiquityがインストールされている環境で現在のページを開くと、ページ上部に情報バーが表示されますので、情報バー右端の「Subscribe...」ボタンを押すと「Ubiquity Command from Untrusted Source」という登録確認ページが表示されます。
このページではコマンドの内容(スクリプト)が表示されていますので問題がないか確認し、ページ下部にある「I know what I'm doing. Subscribe to it!」ボタンを押すとコマンドが登録されます。「Auto-update this feed.」チェックボックスをONにしておくと、Firefox起動時にコマンドを自動更新してくれます。
コマンドを削除したい場合、コマンド「help」を入力すると専用ページが表示され、右列の「Subscribed Feeds」欄から[unsubscribe]のリンクをクリックすることで削除できます。
以下、コマンドを初めて作ってみて。
拡張機能を作る知識は皆無な私ですが、UbiquityのコマンドであればJavaScriptをかじった程度でなんとかなりますので面白いですし勉強にもなりますね。
このコマンドでのプレビュー表示ですが、文字を1文字ずつ入力するごとにアクセスしてしまうため、結果的にプレビューがなかなか表示されず使い勝手があまりよくありません。setTimeoutを使って0.5秒くらい待ってからアクセス処理できないかなーと思いましたが、setTimeoutを使うとエラーがでてしまいますし…。何かイイ方法はないかなぁ?
2008/09/07 追記:
setTimeoutはUtils.setTimeout()を使えばいいんですね。が、これでは解決できないので、半角スペースを2回記入したときだけプレビュー表示するようにしてみました。ちょっとだけ手間が増えますが、このコマンドのようにHTMLを取得する場合はサーバーへの負荷を減らすためにもこのような仕様がベストなのかも。
2009/01/11 追記:
コマンドに続く検索ワードを記入し終えてから0.5秒後にサーバーへアクセスするよう変更しました。2chスレッド検索コマンドにも同じ処理を入れています。
- 関連記事
-
- Ubiquityのスキンを作ってみました (2008/11/02)
- 2chスレッド検索 - Ubiquityコマンド (2008/09/13)
- Firefox更新情報Wiki*を検索 - Ubiquityコマンド (2008/09/06)