Userscript(Tampermonkey)環境での話ではありますが、Javascriptでも全く同じだと思います。
自作のスクリプトを開発しています。デバッグ用に、console.logの機能を改造し、先端に時刻とページにより変わる変数(いずれも文字列)を表示するようにしたいです。
この下に本来console.logに入るはずだった情報が入るようにしたいです。
一応、以下でうまく動くのですが、ソースを表示する右上の「userscript.html?name...~」の部分が、常にこの関数を参照してしまいます。これをconsole.logを使った場所、呼び出し元に設定する方法はないでしょうか。
Javascript
1// console.logを改造し、pagemodeと時刻を表示できるようにする 2window.console.log = function(i){ 3 var d = new Date(); 4 var h = d.getHours(); 5 var m = d.getMinutes(); 6 var s = d.getSeconds(); 7 var ms = d.getMilliseconds(); 8 var time = h+":"+m+":"+s+"."+ms; 9 10 //iが文字列でなければ 11 if(typeof i != "string"){ 12 //参照先をこの関数でなく、元の関数に戻す 13 console.info('[jas-' + pagemode + '] ' + time + '\n %o', i); 14 }else{ 15 console.info(`[jas-${pagemode}] ${time} \n ${i}`); 16 } 17}

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。