IE 拡張コンテキストメニューに「範囲選択されたURLを開く」を追加してみた

FastladdertwitterRSS を見ると、following の文中の URL がリンクになっていないので面倒くさい。せめて範囲選択してすぐ開けないかと思って作ってみた。IE の拡張コンテキストメニューは、以下のレジストリに登録してあるローカルの HTML ファイルの JavaScript を実行する仕組みのようだ。

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\範囲選択されたURLを開く
  • 名前
    • (既定)
  • 種類
    • REG_SZ
  • データ
    • file://C:\hogehoge\OpenRangedURL.html

また contexts という DWORD 値でコンテキストメニューの出現条件を設定できる。以下の例ではテキストが選択されていた場合に出現する。

  • 名前
    • contexts
  • 種類
    • REG_DWORD
  • データ
    • 0x00000010

OpenRangedURL.html は以下の内容で作成した。(ポップアップブロッカー対策として今のところ Ctrl 押しながら利用している)

<html>
<body>
<script type="text/javascript">

var url = external.menuArguments.document.selection.createRange().text;

if (url.indexOf('http://') == -1)
{
    url = 'http://' + url;
}

window.open(url,'_blank');

</script>
</body>
</html>