HOSTなど省略されているリンクを正しく取得するには?

JavaScriptの'htmlfile'オブジェクトを使ってリンクを取得すると
ホストなどが省略されているリンクは、ローカルのパスが混じってしまう。
今まで正規表現で変換させていたけど、正規表現が苦手なもんだから
どうもうまく取得できない。


元のソースを見て気が付いたのだが、BASEタグというのを見掛けた。

<base href="http://aaaa/bbbb/">

このタグが設定されている場合、これを元にしている感じ。
だから、このタグが設定されていない場合は

var doc = new ActiveXObject('htmlfile');
doc.write(ソース)
doc.close();

var elm  = doc.createElement('base');
elm.href = 'http://aaaa/bbbb/'

doc.getElementsByTagName('head')[0].appendChild(elm);

こんな感じで作成すれば、省略されているリンクを正しく取得できるみたいです(たぶん)。
先程気が付いたので早速、少し前に書いた
パネルでタブを移動させるunDonut+modのパネル用HTML
も、書き直しました。


※追記
また不具合が見付かったので再アップしました。