ブラウザ表示フォントをワンクリック切り替えできないか

Windowsのブラウザで、通常はアンチエイリアスのかかるフォントで文字を表示している。
しかし、アスキーアート(AA)がそのフォントで表示されるとAAがずれるので、AAのあるページだけフォントを「MS Pゴシック」に切り替えるブックマークレットを作れないか、やってみた。

→どのWebページでも正しく動作するものは作成できなかった。しかし記録を残しておく。



作成したのはこちら。

function aafont(){
    var n=document.body.childNodes;
    for(var i=0;i<n.length;i++){
        if(n[i].nodeName=="#text"){
            var s=document.createElement("span");
            s.setAttribute("style","font-family:MS Pゴシック");
            var t=n[i].nodeValue;
            s.appendChild(document.createTextNode(t));
            n[i].parentNode.replaceChild(s, n[i]);
        }else{
            n[i].setAttribute("style","font-family:MS Pゴシック");
        }
    }
}


ブックマークレット化したのはこちら。

javascript:(function(){var n=document.body.childNodes;for(var i=0;i<n.length;i++){if(n[i].nodeName=="#text"){var s=document.createElement("span");s.setAttribute("style","font-family:MS Pゴシック");var t=n[i].nodeValue;s.appendChild(document.createTextNode(t));n[i].parentNode.replaceChild(s, n[i]);}else{n[i].setAttribute("style","font-family:MS Pゴシック");}}})()


ページによってはうまく動くのだが、動かないページのほうが多い。

原因はよくわかっていない。


JavaScript&DOMは以下のページで調べた。

追記: 以下ので、かなり動作するようだ。

IPA%205Cu30E2%5Cu30CA%5Cu30FC%20P%5Cu30B4%5Cu30B7%5Cu30C3%5Cu30AF」を「MS Pゴシック」に置き換えればWindowsで使える。