| 投稿者 |
メッセージ |
たっちん Regular

登録日: 2006.06.14 投稿記事: 12
|
日時: 2006/07/05 Wed - 08:21
|
|
| プヨぷよ wrote: | | 残念ながらどちらでもありませんが、UserAction Extention用の、選択文字列をgoo国語辞典で検索を行うスクリプトをUserAction スクリプト配布トピックに書き込んだのでよければ使って下さい。 |
ありがとうございます!…なるほど。“見つからないんなら作ってしまえ!”という発想がありましたか。
それで、教えていただいた日曜日からこっち、「どうやって組み込めばいいのか」でずーーーと悩んでおりまして…。
まずどうすればいいのかいろいろあちこちと見て回り、UserAction Extensionの詳細について書かれているところの「導入方法」を参考に、次のように試してみました。
1 UserAction Extension version:1.00 正式版をSleipnirに組み込み
2 「選択テキストをgoo〜辞書で検索」に書かれている国語辞典のコードをメモ帳でtxt形式保存(ファイル名SearchJdic.txt) → \Sleipnir\plugins\scriptsフォルダにファイルを貼り付け
3 拡張子「txt」を「js」に変更してみる
4 拡張子「js」を「vbs」に変更してみる
5 いちおう、「vbs」を「xml」にも変更してみる
(あらかじめ「SmartSearchPopup.xml」には<item name="国語辞典から探す" action="SearchJdic" />を組み込んであります)
で、それぞれSleipnirを再起動してみた(2からは再起動後SmartSearchでテスト)結果は,
1 正常に成功!
2 「Unknown script format.」「Failed to execute user action!」のダイアログが表示され失敗
3 画面下にアウトプットが現れ、「Error: Script error.Description: 'Sleipnir.API'はNullまたはオブジェクトではありません。」と表示され失敗
4 画面下にアウトプットが現れ、「Error: Script error.Description: ステートメントの末尾が不正です。」と表示され失敗
5 2と同じ
…「導入方法」にもただ単に“スクリプトファイルを配置”としか書かれておらず、しかし、どの拡張子でも動作することはなく…どのようにすれば良いのか、教えていただけませんか? |
|
プヨぷよ Professional

登録日: 2006.06.21 投稿記事: 252
|
日時: 2006/07/05 Wed - 15:09
|
|
|
たっちん Regular

登録日: 2006.06.14 投稿記事: 12
|
日時: 2006/07/05 Wed - 18:46
|
|
| プヨぷよ wrote: | | あぁ、すいません、拡張子はjsでいいのですが、Sleipnir.APIを利用している関係でオプションの、クライアント | 全般 | スクリプトによるクライアントの操作を許可するにチェックが入っていないと正常に動作しません。 |
さっそくのご連絡ありがとうございます!確かに、あっさりと、うまくいきました…!
いやぁ、長かったけどとうとうここまで来ることができました。本当に皆さんのおかげですね。
今現在で延べ3000人近い人にトピを閲覧していただいていることに率直に驚きます。
解決策を教示いただいたみなさん、ありがとうございました!そしてこれからこのトピを頼りに来る皆さんのお役に立つことができたら、僕も嬉しいです!
最後に、プヨぷよさんの国語辞典スクリプトをちょこっといじっただけの「ヤフーオークション検索スクリプト」を公開させていただきます。
| Code: |
engine = "http://search.auctions.yahoo.co.jp/search/auc?p={all}";
selected_text = document.selection.createRange().text;
sleipnir.API.NewWindow(engine.replace(/{all}/, selected_text), true);
sleipnir.API.SearchBarString = selected_text;
|
いかがですか?ちゃんと動作するでしょ?
僕はスクリプトの構造って全く分からないのですが、やってみたらできちゃったので公開させていただきます。
それでは、改めて。
「Sleipnir と SmartSearch ってスゴイ!」 |
|
たっちん Regular

登録日: 2006.06.14 投稿記事: 12
|
日時: 2006/07/21 Fri - 19:26
|
|
SmartSearchに機能を追加する方法まとめ Ver 1.01
■はじめに
このまとめは,Sleipnirのバージョン2.40以降が対象です。(これ以前のバージョンにも当てはまるのかも知れませんが,確認できません。すいません。--;)
内容について,間違い・より適切な表現・追加すべきことがらなどがある場合は,ぜひこのトピックで教えてください。どうかよろしくお願いいたします。
■あらかじめやっておくこと
(インストール先フォルダ)\Sleipnir\resources\languages\default\japaneseにあるSmartSearchPopup.xmlというファイルを,
(インストール先フォルダ)\Sleipnir\settings\(自分のアカウント名)\setting\Overrideフォルダにコピーしておいてください。(Overrideフォルダがない場合は作ってください)
このSmartSearchPopup.xmlに新しい機能を追加していくことになります。
| 蛇足 wrote: | このような“.xmlファイル”の内容を編集するときは「メモ帳」を開いておき,そこにこのファイルをドロップするのですが,この開き方が面倒だなと思ったときは,右クリックメニュー(コンテキストメニュー)の「送る」という機能に「メモ帳」を登録しておくと便利です。
やり方(XPの場合)は,まず「メモ帳」のショートカットアイコンをC:\Documents and Settings\(自分のアカウント名)\SendToフォルダに入れておきます。そうすると,SmartSearchPopup.xmlを右クリック → 送るをポイント → メモ帳をクリックで開くことができます。(SendToは隠しフォルダになっているので,このフォルダが見つからない場合は,メニューバーの「ツール」→「フォルダオプション」を開き,「表示」タブ →「ファイルとフォルダの表示」の「全てのファイルとフォルダを表示する」をクリックしてOKとすると見えるようになります。) |
■SmartSearchの「キーワードをウェブから検索」で表示される検索サイトをアドバンスド検索バーの設定と同じにする
SmartSearchPopup.xmlを開き,<item name="キーワードをウェブから検索(&W)" action="_Web" /> を次の1行とを差し替えます。
<item name="検索エンジンで検索(&S)" action="SearchSelectedText" />
※item nameの" "でくくられている部分は,書き換え可能です。
■Sleipnirのメニューバーにある機能をSmartSearchに追加する
(インストール先フォルダ)\Sleipnir\resources\languages\sleipnir\japaneseフォルダにある「MainMenu.xml」を開き,組み込みたい機能の行をコピーします。
SmartSearchPopup.xmlを開き, <folder name="Tab"> 〜 </folder> 間の任意の行に貼り付けます。
※ただ,“ページ上のテキストを選択して行う動作”以外の機能はあまり組み込む意味はないかも知れません。
・MainMenu.xmlにある機能の例
<item name="選択キーワードを URI として開く(&S)" action="OpenSelectedText" />
<item name="選択部分のリンクをコピー(&S)" action="CopySelectedLinks" />
<item name="選択部分のソースを表示(&W)..." action="ViewSelectedSource" />
※item nameの" "でくくられている部分は,書き換え可能です。
・どんなaction名があるかを調べる方法
「sleipnirオプション」→「ユーザーインターフェース」→「マウスジェスチャ」で,カテゴリを「アクションから...」のままにしてアイテム欄をクリックするか,または
「sleipnirオプション」→「ユーザーインターフェース」→「マウス割り当て」にある左ダブルクリック欄などをクリックすると,action名が表示されます。(後者の方がアルファベット順になっていて見やすいかも知れません)
■action名にない(action名がSmartSearchでは機能しない)機能をSmartSearchに追加する
【UserAction スクリプト配布】や【オンラインデータベース】などから,組み込みたい機能のUserAction Extention用のスクリプトを探してみてください。
注意! 公開されているスクリプトは,それぞれに書かれている注意事項などをよく読んでから組み込んでください。
ここでは例として【UserAction スクリプト配布】にある「選択テキストをgoo国語辞書で検索」をSmartSearchに組み込んでみます。
手順が多くて複雑に見えますが,できるだけ分かりやすく一手順ごとに説明しているだけですので,ぜひ挑戦してみてください。
- 【UserAction Extension version:1.00 正式版】にある「Download」をクリックすると,お使いのSleipnirにUserAction Extensionが組み込まれます。(「すでに最新版の User Action Extension がインストールされています」と表示された方はOKをクリックして次に進んでください)
- Sleipnirオプションの「クライアント」→「全般」にある「スクリプトによるクライアントの操作を許可する」をクリックし,チェックマークを入れます。
- 【UserAction スクリプト配布】の国語辞書にある「Code:」の枠内を全て範囲指定してコピーします。
- 「メモ帳」を起動し,そこに3のコピーを貼り付けて,ファイルの種類を「全ての種類」にしてからデスクトップ等に保存します。ファイル名がそのままaction名になります。ここでは例としてSearchJdic.jsとしてください。(拡張子は,組み込むスクリプトによっては「.vbs」となる場合もあるようです。各スクリプトの注意事項などをよく読んで判断してください。)
- Sleipnirが起動している場合は,ここで終了させます。(Sleipnirを常駐させている方はそれも終わらせておいてください。)
- (インストール先フォルダ)\Sleipnir\plugins\scriptsフォルダを開き,4で保存したファイルを移動(またはコピー)します。
- (インストール先フォルダ)\Sleipnir\settings\(自分のアカウント名)\setting\OverrideにあるSmartSearchPopup.xmlをメモ帳で開き,<folder name="Tab"> 〜 </folder> 間の任意の行に,
<item name="選択テキストをgoo国語辞書で検索" action="SearchJdic" />
を貼り付けます。
※item nameの" "でくくられている部分は,書き換え可能です。
- SmartSearchPopup.xmlを上書き保存してメモ帳を閉じ,Sleipnirを起動します。
- 任意のホームページで適当な日本語(単語の方がいいでしょう)を範囲指定してSmartSearchを表示させ,「選択テキストをgoo国語辞書で検索」(または,ご自分で変更した表現)をクリックします。
…言葉の意味が表示されましたか?gooの画面が表示されても「検索結果に該当するものが見当たりません」となった場合は,別な単語で検索し直してみてください。
以上です。お疲れさまでした。
この手順で,他の機能も組み込むことができます。参考までに,前出の「ヤフーオークション検索スクリプト」(プヨぷよさんのスクリプトをちょこっと変えただけです。プヨぷよさん,すいません)を再掲します。
| Code: |
if (sleipnir.API != null) {
var document;
if (document == null) {
id = sleipnir.API.GetDocumentID(sleipnir.API.ActiveIndex);
document = sleipnir.API.GetDocumentObject(id);
}
engine = "http://search.auctions.yahoo.co.jp/search/auc?p={all}";
selected_text = document.selection.createRange().text;
sleipnir.API.NewWindow(engine.replace(/{all}/, selected_text), true);
sleipnir.API.SearchBarString = selected_text;
}
else {
sleipnir.Alert("オプションの\n クライアント|全般|スクリプトによるクライアントの操作を許可する\nにチェックがないと動作しません");
}
|
「goo国語辞書で検索」と「ヤフーオークション検索」のどこが違うかを見ていただければ,ご自分がよく行かれるサイトの検索もSmartSearchから行うことができるようになるかもしれません。
便利なスクリプトができたら【UserAction スクリプト配布】で教えてくださいね。 |
|