ブラウザでダウンロード IE の仕様を利用したツールMicrosoft のドキュメントは こちら を参照して下さい。 IE で右クリックしたポップアップメニューから選択可能なユーザーイベントは、 レジストリに登録された情報に連動して、VBScript または、JavaScript の アプリケーションを起動する事ができます( HTA と同等なので、レジストリの処理等可能です ) ShowModalDialog で表示される Window を使ってユーザ画面を作成する事も可能です。 ( このツールの menuex_body.vbs : メニュー名は「−★★BODY」 ) menuex_body.vbs
<SCRIPT language="VBScript"> ' ************************************************* ' ウインドウサイズ ' ************************************************* window.dialogWidth = "800px" window.dialogHeight = "600px" </SCRIPT> <html> <head> <title>BODYの内容 ( クリップボードにコピー済みです )</title> <meta http-equiv="content-type" content="text/html; charset=SHIFT_JIS"> <STYLE type="text/css"> * { font-size:12px; } body { margin:0; } textarea { margin-left:4px; margin-top:24px; width:788px; height:548px; } </STYLE> </head> <BODY> <TEXTAREA wrap="off" id="result"> </TEXTAREA> <SCRIPT language="VBScript"> ' ************************************************* ' ● BODY の内容全て ' ************************************************* Dim obj,str on error resume next ' ************************************************* ' カーソル下のオブジェクト ' ************************************************* Set obj = external.menuArguments.event.srcElement str = obj.document.body.innerHTML if Err.Number <> 0 then str = "BODY を取得できませんでした" end if on error goto 0 ' テキストとして文字列セット document.getElementById("result").innerText = str ' クリップボードにセット Call window.clipboardData.setData("Text",str) </SCRIPT> </BODY> </html> WEB HTML作成用情報取得ツールとして使用リンクの URL や、テキストは、IE 上でカーソルを置き、クリックして実行する かわりに、右クリックしてメニューを選択する事によってクリップボードにコピーされます。 同時に両方を取得するメニューも用意していますので、貼り付けるほうのプログラム で分解して使用します( 区切り文字は 0x1a ) menuex_url_text.js
<SCRIPT language="JavaScript"> // ************************************************* // 他のプログラム用に、URL と テキストを同時取得 // ( 0x1a で区切る ) // ************************************************* try { // ************************************************* // カーソル下のオブジェクト // ************************************************* var obj = external.menuArguments.event.srcElement; var str = obj.tagName; // ************************************************* // アンカー専用処理( レジストリ 0x20 ) // ************************************************* if ( str.toUpperCase() == 'A' ) { str = external.menuArguments.event.srcElement.href; var strText = obj.firstChild.nodeValue; reg = new RegExp(String.fromCharCode(160),"g"); strText = strText.replace(reg,' '); // 後でプログラムで確実に分解できるように 0x1a で区切る window.clipboardData.setData("Text", str+String.fromCharCode(0x1a)+strText ); // 表示用 str = str + "\n" + strText } } catch(e) { str = external.menuArguments.location.href; } alert(str); </SCRIPT> 画像用のメニューでは、取得した URL を加工して HTML 上に貼り付ける為の ユーザカスタマイズが可能になっています。 メニューの名前毎にレジストリ登録が必要になりますが、いずれも menuex_image_html.vbs を 使用して、Html エントリの内容を変更するだけです。( $URL を置き換えます ) JavaScript に精通しておれば、目の前に表示されている IE の内部の情報を使用して Microsoft の VBScript または、JavaScript で可能な事は全て実装可能です。 とにかく、WEB 上の HTML 作業は煩雑で力仕事が多いですが、少しでも楽になる為の ツールとして、少し頑張れば誰でも自由にカスタマイズできます。 |