「
任意の検索エンジンで検索ー改良版
」を編集中
2023年7月22日 (土) 17:39時点における
MSY-07
(
トーク
|
投稿記録
)
による版
(見出しの修正、一部文章を先頭に移動)
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
ナビゲーションに移動
検索に移動
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
Noah様作成のマクロ「任意の検索エンジンで検索」を、Sukemaru様、Kuro様、Noah様から、フォーラムにおいて多くの助言、指導、tips などをいただき、Takeshi が改良しました。 == 使用方法 == * このマクロを起動し、ポップアップメニューから検索エンジンを選択して検索します。 * ポップアップメニュー右に表示されるアクセスキーを押すと、そのメニューが選択されます。 * ポップアップメニューは Space キーを押すか、メニュー外をクリックするとキャンセルできます。 * 文字列が何も選択されていないとステータスバーにメッセージが表示され、マクロを終わります。 == 注意事項 == * 一部の検索エンジンにおける、URLにおける予約文字「/」「:」「&」「+」「=」などへの対処がまだです! * 上記が原因で検索が上手く行かなかった場合、選択文字列はクリップボードに保存されていますので、手作業で検索ボックスにペーストしてください。 == ソースコード == <syntaxhighlight lang="javascript"> #title="任意の検索エンジンで検索 Ver 2.5" #tooltip="ポップアップメニューで各種検索エンジンを指定し、選択文字列をブラウザで開く" // ------------------------------------------------- // Ver 2.5 2019-07-12 // 選択文字列、複数語、複数文を任意の検索エンジンで検索するためのマクロ。 // Noah様作成のマクロ「任意の検索エンジンで検索」を、Sukemaru様、Kuro様、Noah様から、フォーラムにおいて多くの助言、指導、tips などをいただき、Takeshi が改良しました。 // このマクロを起動し、ポップアップメニューから検索エンジンを選択して検索します。 // ポップアップメニュー右に表示されるアクセスキーを押すと、そのメニューが選択されます。 // ポップアップメニューは Space キーを押すか、メニュー外をクリックするとキャンセルできます。 // 文字列が何も選択されていないとステータスバーにメッセージが表示され、マクロを終わります。 // 注意!!一部の検索エンジンにおける、URLにおける予約文字「/」「:」「&」「+」「=」などへの対処がまだです! // 上記が原因で検索が上手く行かなかった場合、選択文字列はクリップボードに保存されていますので、手作業で検索ボックスにペーストしてください。 // ------------------------------------------------- var f = []; // ここから下に、お好みの検索エンジンとアクセスキーを定義してください。--------------- // f[0] はスキップさせるので、この下のサンプル行はコメントアウト不要です。 f[ f.length ] = [ "検索エンジン名", "https://example.com/search?q=%1", 1 ]; // 1:検索エンジン名、(&G) などの記述で、「G」をアクセスキーとして設定できます。 // 2:検索URL(選択文字列が入る場所を「%1」で記述する) // 3:選択文字列の処理方法(未指定:URLエンコード, 1:半角・全角スペースとタブを「+」に置換。省略可) // Google フレーズ検索、Wikipedia、Weblio 英和和英辞典 など、複数の単語を "+" で連結して検索する必要があるサイト向けには、選択文字列の処理方法に 1 を指定してください。 // ポップアップメニューに表示する必要のない行はコメントアウトしてください。 // 表示する検索エンジン、アクセスキーの並べ替え/追加/削除はご自由にどうぞ。 // f[ f.length ] = []; でメニューの中に、セパレータを挿入できます。 f[ f.length ] = [ "Google(&G)", "https://www.google.co.jp/search?q=%1&ie=utf-8&oe=utf-8" ]; f[ f.length ] = [ "Google フレーズ検索(&P)", "https://www.google.co.jp/search?q=%22%1%22&ie=utf-8&oe=utf-8", 1 ]; f[ f.length ] = [ "Google日英翻訳(&J)", "https://translate.google.com/translate_t?hl=ja&langpair=ja%7Cen&text=%1" ]; f[ f.length ] = [ "Google英日翻訳(&E)", "https://translate.google.com/translate_t?hl=ja&langpair=en%7Cja&text=%1" ]; f[ f.length ] = [ "Google 書籍検索(&B)", "https://www.google.com/search?tbm=bks&q=%1" ]; f[ f.length ] = [ "Google 日本語・英語論文検索(&S)", "https://scholar.google.co.jp/scholar?hl=ja&as_sdt=0%2C5&q=%1", 1 ]; f[ f.length ] = [ "Google Map(&M)", "https://www.google.co.jp/maps/place/%1", 1 ]; f[ f.length ] = []; // 空配列 [] でセパレータ( "" でも可) f[ f.length ] = [ "Wikipedia 日本語版(&U)", "https://ja.wikipedia.org/wiki/%1", 1 ]; f[ f.length ] = [ "Wikipedia 英語版(&C)", "https://en.wikipedia.org/wiki/%1", 1 ]; f[ f.length ] = []; // セパレータ f[ f.length ] = [ "Amazon 和書検索(&A)", "https://www.amazon.co.jp/s?k=%1&i=stripbooks&__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&ref=nb_sb_noss_1", 1 ]; f[ f.length ] = [ "Amazon 洋書検索", "https://www.amazon.co.jp/s?k=%1&i=english-books&__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&ref=nb_sb_noss", 1 ]; f[ f.length ] = [ "Amazon.co.jp 全ジャンル", "https://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&url=search-alias%3Daps&field-keywords=%1" ]; f[ f.length ] = [ "Amazon.com 全ジャンル", "https://www.amazon.com/s?k=%1" ]; f[ f.length ] = []; // セパレータ f[ f.length ] = [ "英辞郎", "https://eow.alc.co.jp/search?q=%1", 1]; f[ f.length ] = [ "Weblio 英和和英辞典(&W)", "https://ejje.weblio.jp/content/%1", 1 ]; f[ f.length ] = [ "Weblio 国語辞書", "https://www.weblio.jp/content/%1" ]; f[ f.length ] = [ "Weblio 日本語類語辞典(&R)", "https://thesaurus.weblio.jp/content/%1" ]; f[ f.length ] = [ "Weblio 英語類語辞典(&T)", "https://ejje.weblio.jp/english-thesaurus/content/%1" ]; f[ f.length ] = []; // セパレータ f[ f.length ] = [ "Linguee 日英英日翻訳(&L)", "https://www.linguee.jp/%E6%97%A5%E6%9C%AC%E8%AA%9E-%E8%8B%B1%E8%AA%9E/search?source=%E8%8B%B1%E8%AA%9E&query=%1", 1 ]; f[ f.length ] = [ "OneLook 英語辞書串刺検索(&O)", "https://www.onelook.com/?w=%1&ls=a" ]; f[ f.length ] = [ "Merriam-Webster 英語辞書", "https://www.merriam-webster.com/dictionary/%1" ]; f[ f.length ] = [ "Merriam-Webster 英語類語辞書", "https://www.merriam-webster.com/thesaurus/%1" ]; f[ f.length ] = [ "FreeDic 英語イディオム辞典(&I)", "https://idioms.thefreedictionary.com/%1", 1 ]; f[ f.length ] = [ "FreeDic 英語類語辞典(&Z)", "https://www.freethesaurus.com/%1" ]; f[ f.length ] = []; // セパレータ f[ f.length ] = [ "Startpage", "https://www.startpage.com/do/search?q=%1" ]; f[ f.length ] = [ "DuckDuckGo(&D)", "https://duckduckgo.com/?q=%1&ia=web" ]; f[ f.length ] = []; // セパレータ f[ f.length ] = [ "Yahoo! JAPAN(&Y)", "https://search.yahoo.co.jp/search?p=%1&ei=UTF-8", 1 ]; f[ f.length ] = [ "Bing", "https://www.bing.com/search?q=%1" ]; f[ f.length ] = [ "Twitter", "https://twitter.com/search?q=%1%20lang%3Aja" ]; f[ f.length ] = [ " キャンセル & ", 0 ]; // & のうしろの半角空白がアクセラレータ(Spaceキーでキャンセルできます) // ここまでが、検索エンジンとアクセスキーの定義----------------- // 選択範囲の文字列を取得 var targetText = document.selection.Text; // 文字列が選択されていなければ、ステータスバーにメッセージを表示して終了 if ( ! targetText ) { Status = "選択文字列がありません!!"; Quit(); } // 検索が上手く行かなかった場合の保険的処理として、手入力で検索ボックスにペーストするため、選択文字列をクリップボードへ保存しておく document.selection.Copy(); // ポップアップメニューを作成。ラベルの文字列がなければ menu.Add() のオプションフラグ meMenuSeparator を拾う var menu = CreatePopupMenu(); // var i = 1 にしてダミー要素の f[0] をスキップすると「i」とメニューのIDが一致する for ( var i = 1, len = f.length, id; i < len; i ++ ) { if ( f[ i ].length ) { id = f[i][1] ? i : 0; // ← メニューの ID 用変数 menu.Add( f[ i ][0], id ); } else { menu.Add( "", 0, meMenuSeparator );// f[i] == [] ならメニュー内にセパレータを表示 } } // ポップアップメニューを表示し、選択されたメニューの id を取得する var id = menu.Track( mePosMouse ); // 検索サイトに応じた選択文字列の処理、ポップアップメニューから戻る id により判断・分岐 if ( id ) { switch( f[ id ][2] ) { case 1: // 選択文字列の処理方法に 1 を指定したサイトでは、半角・全角スペースとタブ文字を半角「+」記号に置換する targetText = targetText.replace( /[ \t]/g, "+" ); break; default: // その他の検索サイトでは、選択文字列を URLエンコード処理して、URLの予約文字「/」「:」「&」「+」「=」などに対処する targetText = encodeURIComponent( targetText ); break; } // ポップアップメニューの選択結果に対応した検索サイトURL中の「%1」を選択文字列に置換し、検索用URLを生成する var url = f[ id ][1].replace( /%1/g, targetText ); // 検索用URLをブラウザに渡してオープンする new ActiveXObject("WScript.Shell").Run( url ); // 終了メッセージをステータスバーに表示する Status = "\"" + menu.GetText( id ).replace( /\(&.\)|&/g, "" ) + "\" で検索"; } </syntaxhighlight>
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク