« コマンドラインからクリップボードを使う。 | トップページ | コマンドラインからメッセージをウィンドウ表示する。 »

2006年9月27日 (水)

セキュリティレベルを上げるとブックマークレットが使えなくなる。

JSファイルやVBSファイルでブックマークレットのようなことが出来ます。

javascript:~~~
vbscript:~~~
のようなURLをアドレスバーに入れて実行したり、
インターネットショートカットにして、「お気に入り」などから実行することが出来ます。

ただし、スクリプトが動くか、どうかは、そのときのセキュリティゾーンのセキュリティレベルに依存します。
なので、セキュリティレベルを上げると、動かなくなります。

そういうときは、URLファイルをJSファイルやVBSファイルに変えましょう。

このときに、鍵になるのが、これです。

SHDocVw.ShellWindows の既定メンバ
Function Item([index]) As Object
    Return the shell window for the given index

ここで、インデクスが省略可能になっています。省略すると、現在のIEオブジェクトを返します。

Set Shell=CreateObject("Shell.Application")
Set ie=Shell.Windows().Item()
Set window=ie.Document.parentWindow

これを利用すると、ブックマークレットのようなことが、JSファイルやVBSファイルで、自在に出来ます。

« コマンドラインからクリップボードを使う。 | トップページ | コマンドラインからメッセージをウィンドウ表示する。 »