※本ソフトの公開・サポートは終了しました。
ホーム > スクリプト作成入門 > ショートカットメニューで呼び出されたスクリプト内でクリックした要素を取得する方法

ショートカットメニューで呼び出されたスクリプト内でクリックした要素を取得する方法

(目次)

1.概要

ScriptBrowserK は、ブラウザ部のショートカットメニューにスクリプトを割り当てることが出来ます。

※登録方法についてはスクリプトに関する基礎知識の「2.スクリプトを登録できる場所」の「6.ブラウザ部のショートカットメニュー」を参照して下さい。

ショートカットメニューから呼び出されたスクリプト内でクリックされた要素を取得するには、DOM の event オブジェクトの srcElement プロパティを使用します。

実際には、以下の流れになります。

  1. アクティブなタブの DocumentWindow オブジェクトを ActiveDocWin で取得。
  2. ショートカットメニューが表示された DOM の document オブジェクトを EventSrcDocument で取得。
    ※FRAME を使用した Web ページに対応するためには、トップフレームの document ではなく、ショートカットメニューが表示されたフレームの document オブジェクトを EventSrcDocument で取得する必要があります。
  3. DOM の event オブジェクトを、document.parentWindow.event で取得。
  4. 最後に 要素を event オブジェクトの srcElement プロパティで取得。

上記内容を、スクリプト1行で記述すると下記の様になります。

ActiveDocWin.EventSrcDocument.parentWindow.event.srcElement

2.サンプルスクリプト

簡単な例を下記に示します。スクリプトをコマンドに割り当てた後で、コマンドをショートカットメニューに割り当てて実行して下さい。

ショートカットメニューを表示した要素の HTML ソースが画面に表示されます。

※VBScript、JavaScript どちらでも動作します。

ShowMessage(ActiveDocWin.EventSrcDocument.parentWindow.event.srcElement.outerHTML)

(2009/09/19)

Copyright (c) 2011 Akiyoshi Kozuka (http://www.scriptbrowserk.com/)