へーグリースモンキーって
グローバル環境の汚染させてくれないんだー。
せっかくハイライト機能を強化しようとしてたのになー
ということでハイライト機能の強化をしました。
強化内容は、アレですよ。
更新ボタン押すと効果切れちゃうじゃ無いですか。
アレ直しました。
でも定期自動更新は改善できず。。。。
ファイルはprintf(" Hell %d World \n", 0)においてあるのでそちらをば。
グローバル環境の汚染ができないからこんなコードになってしまった。
var myCss = document.createElement("style"); myCss.type = "text/css"; myCss.innerHTML = 'strong{background-color: #FFCCCC;}'; var head = document.getElementsByTagName("head")[0]; head.appendChild(myCss); setResHighlight = function(s){ return s.replace(/(\(res ([0-9]+)\))/g, function(){ if(RegExp.$2 == 0){ return RegExp.$1; }else{ return '<strong>'+RegExp.$1+'</strong>'; } } ); } var rDefinedByUI = document.getElementById("hot_kuchikomi"); rDefinedByUI.innerHTML = setResHighlight(rDefinedByUI.innerHTML); var replaceDefinedByUI=''; replaceDefinedByUI+='/(\\(res ([0-9]+)\\))/g,'; replaceDefinedByUI+='function(){'; replaceDefinedByUI+=' if(RegExp.\$2 == \'0\'){'; replaceDefinedByUI+=' return RegExp.\$1;'; replaceDefinedByUI+=' }else{'; replaceDefinedByUI+=' return \'<strong>\'+RegExp.\$1+\'</strong>\'; '; replaceDefinedByUI+=' }'; replaceDefinedByUI+='}'; var rtDefinedByUI=''; rtDefinedByUI+='onComplete:function(request){'; rtDefinedByUI+=' var r=request.responseText.replace('; rtDefinedByUI+=replaceDefinedByUI rtDefinedByUI+=' );'; rtDefinedByUI+=' eval(r);'; var sDefinedByUI = document.getElementById('submit'); var rDefinedByUI = sDefinedByUI.getAttribute("onClick").replace( /onComplete:function\(request\){/, rtDefinedByUI ).toString().replace( /evalScripts:true,/, '' ).toString(); sDefinedByUI.setAttribute('onClick',rDefinedByUI);
途中文字列連結し放題なのは、setResHighlight()をグローバル環境に放り込めないため。
すっげーみズラぃ。