2009年10月7日、少し訂正(load時にdecodeしてたのを、mouse-clickでdecodeする用にした、pull-downで日本語に変換する場面が多々あるので)

コンテンツのページで、URIに日本語を含むようにしていると、日本語部分の表示が、

google-analytics-%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%ac%e3%83%9d%ef%bc%8d%e3%83%88%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e8%a6%8b%e3%82%8b%e3%80%82

と、URIencodeされたままになっていて、せっかく直感的理解の為のツールであるGoogle Analyticsの意義を損なっている。

解決方法は、安直だけど、firefoxのgreasemonkeyで、かたっぱしから、decodeURI(“hogehoge”)とするしか思いつかない。

該当しそうなのは、<a>タグと、<div>タグで、classがdetail, text_wrapperのものっぽいので、それをdecodeURIした。

as = document.getElementsByTagName("a");
ds = document.getElementsByClassName("detail");
ts = document.getElementsByClassName("text_wrapper");
f =function(g){Array.forEach(g, function(e){
                                          text = e.textContent;
                                          if(text.indexOf("%") != -1){
                                             e.textContent = decodeURI(text);
                                          }
	                            if(e.title && e.title.indexOf("%") != -1){
		                 e.title = decodeURI(e.title);
		              }
});};
Array.forEach([as,ds,ts], f);
window.addEventListener("click", function(){Array.forEach([as,ds,ts], f)},false);

http://d.hatena.ne.jp/javascripter/20080501/1209624240 を見たら、配列のように扱う方法を知った。

google analytics というより、javascriptの配列処理の Array.forEachの練習の記事になってしまった。firefoxにしか使えないみたいなので、greasemonkeyぐらいにしか使い道がなさそうだけど。