任意の検索エンジンで検索

提供: MeryWiki
移動先: 案内検索

選択した文字をホップアップメニューから指定した検索エンジンで検索します。 検索以外にも翻訳サイトを登録することで翻訳などもできます。

検索サイトの追加・削除も可能なので使いやすいよう自由にカスタマイズしてください。

/**
 * 任意の検索エンジンで検索するためのマクロ。
 * 
 * 選択した文字をホップアップメニューから指定した検索エンジンで検索します。
 * 文字を選択していないと動作しません。
 */
var f = [];

// ここから下に検索エンジンを定義 ------------------------------------------------------------------
// 1:検索エンジン名, 2:検索URL(検索文字列を%1で記載)
f[f.length] = ["Google", "https://www.google.co.jp/search?q=%1&ie=utf-8&oe=utf-8"];
f[f.length] = ["Yahoo! JAPAN", "https://search.yahoo.co.jp/search?p=%1&ei=UTF-8"];
f[f.length] = ["Bing", "https://www.bing.com/search?q=%1"];
f[f.length] = ["Wikipedia", "https://ja.wikipedia.org/wiki/%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] = ["Twitter", "https://twitter.com/search?q=%1%20lang%3Aja"];
f[f.length] = ["Google翻訳(日本語→英語)", "https://translate.google.com/translate_t?hl=ja&langpair=ja%7Cen&text=%1"];
f[f.length] = ["Google翻訳(英語→日本語)", "https://translate.google.com/translate_t?hl=ja&langpair=en%7Cja&text=%1"];
f[f.length] = ["Weblio 英和時点・和英辞典", "http://ejje.weblio.jp/content/%1"];
// ここまで-----------------------------------------------------------------------------------------

// 選択中のテキストを取得
var selectionText = document.selection.Text;
// テキストが選択されていなければ終了
if (selectionText == "") {
    Quit();
}

// ホップアップメニューを作成
var menu = CreatePopupMenu();
for (var index = 0; index < f.length; index++) {
    var def = f[index];
    menu.Add(def[0], index + 1, 0);
}
// ホップアップメニューのオープン
var selectionIndex = menu.Track(mePosMouse);
// 選択されていなければ終了
if (selectionIndex == 0) {
    Quit();
}

// 選択結果を取得
var selection = f[selectionIndex - 1];
var url = selection[1];
// %1を置換
var replaceUrl = url.replace(/%1/g, selectionText);

// ブラウザオープン
var Shell = new ActiveXObject("WScript.Shell");
Shell.Run(replaceUrl);