A.hrefが化ける件
アンカータグのhref属性を取得するとかってにアンエスケープしてしまうっぽいので大雑把ながら対策をすることにした。
function getHref(a) { result = a.outerHTML.match(/href="([.]+\/)*(.*)"/)[2]; result = a.href.replace(unescape(result), result); return result; }
outerHTMLで取得した文字は化けないので正規表現でhrefの中身を取り出し、その文字列をアンエスケープした文字列にマッチする部分と置き換える。パスを厳密に処理するのがめんどくさかったので../hoge/../foo/bar.htmとかいったリンクは目をつぶることにした。他にも正常に処理できない記述があるかもしれないがそれは発覚してから対処しよう。
大体対処できそうな部分の修正は完了したのでここでラボのAddMousePos関係物*1を更新しておいた。