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で色分けスタイル指定とか、フォント指定とか出来て便利なのにな。