SleipnirでSmartSearchに機能を追加する方法

感想おまちしてます!

Sleipnirでは、文字を選択するとメニューがでてきて、「英和翻訳」などが実行できる。これすごい便利。英文を読むときはすげー楽。ただ、「英辞朗で検索」というメニューがない。英訳は英辞朗が一番だと思っているので、SmartSearchの拡張方法を調べてみた。

FireFoxでは拡張すればできたんだけど、使い勝手はSlipnirのほうが好きなので、なんとかみつけたい。

スポンサーリンク

方法 

Fenrir User Communityに拡張方法が載っていた。

SmartSearchに機能を追加する方法まとめ

すばらしい。

まとめると

プラグインのページからUserAction Extensionをインストール。Sleipnirを再起動してSleipnirオプションのクライアント>全般>スクリプトによるクライアントの操作を許可するにチェックを入れる。

「SLEIPNIR_HOME\resources\languages\default\japanese」にあるSmartSearchPopup.xmlを、「SLEIPNIR_HOME\settings\アカウント名\setting\Override」フォルダにコピー。ファイルを開いて、

<item name="選択テキストを英辞郎で検索" action="SearchEijiro" />

をfolder要素以下に追加する(場所はお好みで)。そして、以下をSearchEijiro.jsとして「SLEIPNIR_HOME\plugins\scripts」にコピー。

if (API != null) { <br />  var document; <br />  if (document == null) { <br />     id = API.GetDocumentID(API.ActiveIndex); <br />     document = API.GetDocumentObject(id); <br />  } <br />  var targetDocument = document.all.tags("frame").length ? document.activeElement.contentWindow.document : document; <br /><br />  engine = "http://www2.alc.co.jp/ejr/index.php?&amp;word_in={all}&amp;word_in2=%A4%A2%A4%A4%A4%A6%A4%A8%A4%AA&amp;word_in3=PVawEWi72JXCKoa0Je"; <br />  selected_text = targetDocument.selection.createRange().text; <br /><br />  API.NewWindow(engine.replace(/{all}/, selected_text), true); <br />} <br />else { <br />  Alert("オプションの\n クライアント|全般|スクリプトによるクライアントの操作を許可する\nにチェックがないと動作しません"); <br />}

これでどうだ。