IEのDOMが使い慣れてる。マクロでもIEのDOMを使いたい。
prototype.jsもマクロで使いたい。
回りくどいけど、ActiveXオブジェクト使えば出来るはず。
これも1分ほどで考えてみた。
/** * EmEditorのマクロ * EmEditor内で、IEのDOM実装を使う。 * IEのDOM部分は'MSXML.DOMDocument'だろうけど、 * 調べるのが面倒だったので * 召還魔法でIEを召還することにする * @author takuya_1st * @version 1.0 * @modified 2006/10/01 */ var ie = new ActiveXObject("InternetExplorer.Application"); ie.visible =false; ie.navigate("about:blank"); doc = ie.document; //IEにhogeと書いてみる doc.writeln("<script type='text/javascritp'>'); doc.writeln("document.write('hoge')"); doc.writeln("</script>"); //ScriptタグをObjectとして受け取る var scripts = doc.getElementsByTagName("script");
これで、おっけ。
これでEmEditorマクロでHTMLエスケープが簡単にできる。
正規表現使わなくても良い。
prototype.jsがやってるやり方でHTMLのエスケープが出来る。
(と思う。試してない。)
var div = doc.createElement('div'); var text = document.createTextNode(this); div.appendChild(text); return div.innerHTML;
あとでこれを試す。
追記:
というか試さなくてもいいや。
Ruby Magazineに実例が出てる。Rubyで出来るなら大丈夫
http://jp.rubyist.net/magazine/?0003-Win32OLE#l4
EmEditorのDocumentがcHTMLViewで出来てればよかったのに。。。そうすれば、CSSで色分けスタイル指定とか、フォント指定とか出来て便利なのにな。