iMacrosでJavaScriptからDOMにアクセスする方法

iMacrosを使い始めると、JavaScriptを使いたくなります。なぜなら、iimコマンド(iim拡張子のマクロファイルに書くコマンド)では、ループ(繰り返し)や条件分岐の制御がやりにくいからです。

「やりにくい」と表現したのは、やろうと思えばある程度のことはできるからです。ループは、{{!LOOP}}を使ったループの方法があります。条件分岐は、エラーを無視する設定を入れたり、evalコマンドでJavaScriptを呼び出し、そのJavaScriptでif/elseのコードを書いたりして、やっとやっと実現できます。おススメはしませんけどね。

さて、本題のJavaSCriptからDOMにアクセスする方法ですが、以下のように書いてはいけません。


document.getElementById("xxx");


このように書きます。


window.content.document.getElementById("xxx");


iMacrosを使い始めた当初はDOMにアクセスできないと思い込んでいました。DOMアクセスできないということは、純粋にループや条件分岐の制御をするだけになってしまいます。それでは面白くありませんよね。

JavaScriptでDOMにアクセスできるのであれば、極論、iimマクロを使って値を設定/取得する必要はないんです。直接値にアクセスできるんですからね。計測してみましたが、TAGコマンドでアクセスするよりはJavaScriptから直接DOMにアクセスした方が断然パフォーマンスがいいですよ。

じゃあ、jQueryは使えるの?

これには、ちょっとしたテクニックが必要です。これについては追々記事にして行こうかと思っています。

このブログに興味を持たれた方は、是非、メルマガにご登録ください。 ためになる情報を発信していきます!
お名前 姓: 名:
例)山田 太郎
メールアドレス
例)tsurugi@yahoo.co.jp
メールアドレスを入力して、送信すると
●●のメールマガジンに登録されます。

こちらからコメント送信してください。


コメントはまだありません

  1. コメントはまだありません。