Sleipnir2で検索エンジンを簡単に登録できる方法を考えている(Ver.α)

近況

連休中に体調崩しちゃって、体力・精神力が仕事やる分だけでギリギリでここ数日ろくに何もできてなかったり。
じゃあ、「ブログなんて書いてんじゃねぇよ」と突っ込まれそうですが、帰宅後即寝て起きたところだったりします。
このあと2度寝に入るしね。


で、今回は元々連休中にでも公開しようかと思ってたネタです。
下書きは済ませてあって、動作確認やらの細かいところだけだったので楽だしね。

IE9RCの所感

と本題に入る前に感想的なものでも。
Sleipnir+IE9RCでもやっぱり画像が表示されなくなる問題は直ってないみたいですね。
この問題を抱えられたままIE9の正式版がリリースされてしまうと困ったことになりますなぁ。


なお、今日(昨日)@fenrir_newsがIE9RC+Tridentコンポーネントブラウザ*1での不具合の募集をしてました。
画像表示問題に関しては、その後に中の人が"多数のWeb Browser Control使用ブラウザで再現した"みたいなこと言ってたので、報告の必要無いかもしれないですが、他にも問題がある可能性がありますんで見つけた人は報告してあげてください。


Twitterのアカウント持ってない人は、以下のような場所に報告したなら中の人も読んでくれるはずです。
2ちゃんの本スレ(リンク張った現行スレはそろそろ落ちそうですけど)、
Fenrir User Community(こっちでいいかな)、
フェンリル | デベロッパーズブログ(どのエントリが良いだろうか?新規に報告用みたいなエントリ書いてくれると紹介し易いんだが)


ちなみにTwitterでもちょろっとツイートしたんですけど、Sleipnir2+IE9RC固有の問題っぽいのもあるんですよね。

  • Sleipnirで文字等を選択しようとすると、ズーム時にだけ選択が敏感になる。表現が難しいw

ちなみにAnciaでも同様の状態になるみたいですが、Lunascapeではなりません。

  • Sleipnirで2ちゃんのスレなんかで、ズームして横スクロールバーが出るような状態にして、それを右にスクロールさせていくとジョジョ6部の緑色の赤ちゃん戦みたいに右端に到達できなくなる。*2

こちらはAnciaやLunascapeでは発生しないみたいですね。
これらはもしかすると、βあたりでも発生してたのかもしれませんが、画像表示問題のおかげで即IE8に戻してたので気づかなかったです。*3


OpenSearchについて

さて、ここからが本題。
OpenSearchという規格がありまして、一般の人にはまぁ現状ではブラウザに簡単に検索エンジンを登録できるものくらいの認識でいいかなと思います。
どうやら「検索プラグイン」とかなんとかとも言うみたいです。


ざっくりと正しく理解したりするならば、この辺が参考になるかなぁと思います。
ビジネス用語辞典 | Wisdom
作って学ぶ、今どきのWebサービス - ITmedia エンタープライズ
「OpenSearch」でおもしろい検索サービスは作れるか? - /.J
完全に正しく理解するなら仕様書(仕様書のドラフトの日本語訳)をどうぞ。


で、Firefox2.0以降、Google ChromeIE7以降、Sleipnir3β、Anciaなどで検索エンジンの追加が利用可能です。
次のページあたりから追加できると思います。
検索プロバイダを Internet Explorer に追加する
フェンリル|フリーソフト|Sleipnir|検索エンジン追加*4
名称未決定 - Ancia/検索エンジン
ブラウザからの直接検索インデックス
searchplugins.net
検索プラグイン・ナビ


また、検索プラグインの作成は以下のサービスなどを利用すると良いでしょう。
Ready2Search:日本語
OpenSearch検索プラグイン(検索プロバイダ)作成ツール

スクリプトについて

残念ながらSleipnir2は対応してません。
ならば、自力でどうにかしようとするものですよね。
なので、手を2つほど考えてみました。
ただし、Windows7x64 + IE9RC(or IE8) + Sleipnir2.9.6正式版でしか試せてません。
デュアルブートのXPがどうも"boot.ini"周りで問題あるみたいなんで。
ちなみに過去エントリ「作ってはみたものの・・・」のリベンジ的なネタでもあります。

検索プラグインXMLファイルをどうにか読み込む
  • 必要なもの

Sleipnir2
プラグインSeaHorse Extension、UserAction Extension(、Sagittarius Dock)などが必要です。
※自動入力の方でSagittarius Dockが要る。

  • インストール
    1. ZIPファイルをダウンロードし解凍。
    2. "plugins/seahorse"フォルダに"ses_OpenSearchRemoveAddSearchProvider.user.js"を置く。
    3. "plugins/scripts"フォルダに"ses_OpenSearchFormingEntry.js"を置く。"ses_OpenSearchFormingIni.js"と好きなほうだけどうぞ。*5
    4. "plugins/scripts"フォルダに"ses_OpenSearchFormingIni.js"を置く。"ses_OpenSearchFormingEntry.js"と好きなほうだけどうぞ。*6
    5. "ses_OpenSearchFormingEntry.js"を使う場合は"plugins/scripts"フォルダに"SearchEngineSupplementフォルダ以下"を置く。
  • 使い方と動作原理
    1. 対応ページのHTMLをSeaHorseスクリプトで書き換えてXMLファイルを開けるようにします。
    2. SleipnirにてXMLを開いた状態で、UAスクリプトを発動します。
    3. ユーザー設定フォルダにフォルダを作成し、XMLファイルのコピーをダウンロードします。
    4. ダウンロードしたXMLファイルを読み込んで、必要な情報をiniファイルに保存します。
    5. UAスクリプトによって分岐し、AutoHotkeyを用いて自動的に検索エンジンリストに登録するか、iniファイルを開くので検索エンジンリストに手入力します。

Ancia/検索エンジンの2箇所です。

    • さらに、実際に試したのはそれぞれ数個ずつなので全部で動くかは分かりません。*7
    • 技量が微妙なのでAutoHotkeyスクリプトも変な動きするかもね。
    • そのうち仕様書ちゃんと読んで作り直したいとは思っている。


オレオレ仕様の検索エンジン追加用ファイルを利用する
  • 必要なもの

Sleipnir2
プラグインはUserAction Extension(、Sagittarius Dock)などが必要です。
※自動入力の方でSagittarius Dockが要る。

  • インストール
    1. ZIPファイルをダウンロードし解凍。
    2. "plugins/scripts"フォルダに"ses_SearchEngineSupplement.js"を置く。"ses_OpenIniAlt.js"と好きなほうだけどうぞ。*8
    3. "plugins/scripts"フォルダに"ses_OpenIniAlt.js"を置く。"ses_SearchEngineSupplement.js"と好きなほうだけどうぞ。*9
    4. "ses_SearchEngineSupplement.js"を使う場合は"plugins/scripts"フォルダに"SearchEngineSupplementフォルダ"を置く。
  • 使い方と動作原理
    1. "hoge.sesf.html"を開き、必要なら値を書き換える。*10
    2. アクションを実行してください。*11 *12
    3. ユーザー設定フォルダにフォルダおよびiniファイルを作成され、
    4. 現在表示中の値を取得し、iniファイルに書き出す。
    5. UAスクリプトによって分岐し、AutoHotkeyを呼び出し自動的に検索エンジンリストに登録するか、iniファイルを開くので検索エンジンリストに手入力します。
  • 備考
    • zipファイル内のreadme.txtに色々書いてあるのでパス。*13
    • 個人的にはこっち側が好みなので、色々な検索エンジン用のものを作って行こうと考え中。
      • 今のところAlexaのトップ100サイト(日本、アメリカ、全世界分から選抜)とかは考えているけど、良さそうなところが何処かあったら教えてくれるとありがたいです。

*1:Sleipnir以外のものも含む

*2:いわゆる、ゼノンのパラドックスアキレスと亀

*3:ただ、これ書きながらデジャブに襲われているので、当時も気づいてどこかに書いたのかもしれなかったり。おのれ、ディケイドー!!

*4:ちなみに2011/02/16現在何故かサイトマップには含まれていなかったり

*5:自動入力用

*6:手動入力用

*7:てか、一部Sleipnir3βなんかですら動かないエンジンもあるよ

*8:自動入力用

*9:手動入力用

*10:編集した値も反映されるはず

*11:URI末尾が".sesf.html"の場合にのみ動くはず

*12:テスト用に10個の検索エンジン用のHTMLファイルを同梱してます

*13:コピペすれよw