筆者の導入までの流れを書いていきます。
「// 〜」や「; 〜」はコメント行です。コピペする時に消しといてください。
IEの右クリックに登録するスクリプトは以下のとおり(DL版用意しました)。
<script language="JavaScript" defer>
<!--
wnd = external.menuArguments;
doc = wnd.document;
evt = wnd.event;
efp = doc.elementFromPoint(evt.x, evt.y);
act = doc.activeElement;
reg = doc.selection.createRange().text.match(/ttp:\/\/[-.~\w\/?:&=+%#]+/g);
url = wnd.location.href;
// ↓で取得できなかった場合は現在のURLを取得
while(efp.parentElement) {
// リンクを右クリックされた場合はリンク先をそのまま取得
if(act.tagName == 'A') {
url = act.href;
break;
// src属性から画像等のURLを取得
} else if(efp.src) {
url = efp.src;
break;
// 文字選択があったら選択文字列をh補完しつつ抽出
} else if(reg) {
url = 'h' + reg.join(' h');
break;
// cite属性から引用元のURLを取得
} else if(efp.cite) {
url = efp.cite;
break;
}
efp = efp.parentElement;
}
var wss = new ActiveXObject("WScript.Shell");
// 各自のポチエスのパスに置換
wss.Run('"E:\\Application\\esUrl5\\esUrl5.exe" ' + url);
// -->
</script>
以上です。このスクリプトを「pochi.html」と名付けて保存したら、IEMenuExtを使って右クリックメニューに登録します。表示方法は「常・選・画・リ」です。

ダウンローダーは、ここではcURLを使います。インストールに特別な作業は必要なく、ダウンロードしたファイルを解凍して適当なフォルダに保存するだけです。
次にポチエスでダウンロードしたファイルを保存するフォルダを用意します。これを用意しておかないとポチエスの作業フォルダにダウンロードしてしまいます。作業フォルダはポチエスが起動するたびに空になるフォルダなので切ないことになります。
筆者は「e:\recievedfiles」に保存することにしました。以下の設定ファイルもそれを前提としたものになっています。
自分の用途にあわせてこのようなiniファイルを作成しました。
[system]
@menu=mouse
;転送時にポチエスに表示させるURLを短くするための設定
;出来るだけたくさん表示させたいけど長すぎるとウザいのでこれぐらい
@name=%-L
;mailto、fileは個人的に需要がないのでカットした
@scheme=http,ftp
;ダウンローダーの設定
@loader=E:\Application\curl\curl.exe
>-o "e:\recievedfiles\%K" %L
;300秒=5分は適当に設定しただけ
;ふたつめの数値はcURLは0にしないといけない
@timeout=300,0
%end
[.exe][.zip][.lzh][.cab]
;DL後に解凍する設定
;「%#De:\recievedfiles%#D」のフォルダは必ず↑の「download=」の指定フォルダと同じ場所にすること
E:\Application\Noah\Noah.exe | DL後に解凍(&B)
*e:\recievedfiles>"%P"
%end
[.avi][.mpg][.mpeg][.mp3][.wav][.wmv][.wma]
;保存するまでもない小さいファイル用にそのまま再生する設定も付加した。
E:\Application\mpc2kxp\mplayerc.exe | DLせずMPC(&A)
>%L
E:\Application\mpc2kxp\mplayerc.exe | DL後にMPC(&B)
*e:\recievedfiles>"%P"
%end
[.*]
;上記以外の関連付けはブラウザで表示するのが無難
;ここでブラウザの使い分けの設定をする
E:\Application\sleipnir\Sleipnir.exe | &Sleipnir
>%M
E:\Application\Opera\Opera.exe | &Opera
>%M
E:\Application\Firefox\firefox.exe | &Firefox
>%M
E:\Application\janedoe\Jane2ch.exe | &JaneDoe
>%M
%end
[all]
;全ての拡張子に適用する項目の一例
+
E:\Application\curl\curl.exe | DLのみ(&C)
>-o "e:\recievedfiles\%K" %L
%end
以上です。デフォルトのesUrl5.iniで保存しました。
あと、">%M"ではなく"]%L"を使わなくてはならない状況についてですが、SleipnirやJaneDoe、Operaは">%M"で問題ありません。FirefoxもVer.1.5からは">%M"でいけるようです。
準備は完了です。優先順位を説明すると
という具合になっています。うまく動いたでしょうか。
URL版の動作テストにでもどうぞ。
ttp://www2.wbs.ne.jp/~go-to/run/ ttp://www.hi-ho.ne.jp/babaq/bregexp.html
このブロックはblockquote要素です。
「リンク - 備忘録のぺえじ」に飛べれば成功です。
Operaの右クリックへ登録するには、まず「C:\Documents and Settings\ユーザー名\Application Data\Opera\Opera\profile\menu」に「(好きな名前).ini」というテキストファイルを作成します。書式は以下のとおり。
Opera Preferences version 2.0 [Version] File Version=2 [Info] Name=MyMenu Description=右クリックメニューのカスタマイズです Comments=各種メニューにポチエスを登録 Author=50 Version=1
このテキストファイルは必ずUTF-8で保存してください(BOMの有無は問わない模様)。文字化けします。余談ですが、Infoセクションに全角文字を多めに使っておくと、だいなファイラーのテキストビューワなどが文字コードの判別に失敗する確率が下がります。
このファイルを「ツール→設定→詳細設定→ツールバー」で設定すれば準備完了。あとはデフォルト(インストールフォルダのstandard_menu.ini)以外の設定を適用させたいセクションだけをInfoセクションの下に追加していけばOKです。
…… ;何もないところでの右クリック [Document Popup Menu] …… Item, "ポチエスで開く(&.)" = Execute program, "E:\Application\esUrl5\esUrl5.exe","%u" …… ;リンク上での右クリック [Link Popup Menu] …… Item, "ポチエスで開く(&.)" = Execute program, "E:\Application\esUrl5\esUrl5.exe","%l" …… ;文字列選択状態での右クリック [Hotclick Popup Menu] …… Item, "ポチエスで開く(&.)" = Execute program, "E:\Application\esUrl5\opera.js","%t" ……
こんな感じ。最後のセクションのopera.jsはURLを切り出すために用意したスクリプトです。
var args = WScript.Arguments, url = [];
for(var i=0,len=args.length,reg;i<len;i++) {
if(reg = args(i).match(/ttp:\/\/[-.~\w\/?:&=+%#]+/g)) {
url.push(reg.join(' h'));
}
}
if(url.length > 0) {
var wss = WScript.CreateObject('WScript.Shell');
wss.Run('"E:\\Application\\esUrl5\\esUrl5.exe" h' + url.join(' h'));
}
ここからはIE用の導入と同じ内容になります(src、cite属性は拾えませんが)。URL関連付け機能の導入 (IE用)の「2. ダウンローダーの準備」以降を参照してください。