1

JS コンソール機能を他のものに置き換える方法の投稿をたくさん見ましたが、Firebug のためにそのままにしておく人はいません。

それらのいずれかを置き換えると、カスタム関数が呼び出されますが、新しい関数とまったく同じ場所からメッセージが報告されます。

ここでの目標は、Firebug コンソールで呼び出し先にジャンプできる間に、これらのコンソール メッセージを受信して​​別の場所に表示することです。

これはまったく可能ですか?

更新:たとえば(PSEUDO):

//keep the old one
var oriFn=console.error;

console.error=function(){
   someOtherFunc(arguments);//send to server for instance
   oriFn(arguments);
} 

ここで、いつものように呼び出したい別の場所 console.error('bla'); Firebug コンソールでは、私のメッセージが出力されますが、上記の置換コードへのリンクが表示されます。Firebug コンソールに、呼び出し先の親関数へのリンクが必要です。それだけです。

4

1 に答える 1

0

関数ポインタを使用します。foo.js が与えられた場合:

function foo()
 {
 console.error = console.log; //Reassign console.error
 location.hash = document.title; //Do something
 console.error("Not the mama");  //Outputs line foo.js:5
 }

参考文献

于 2014-05-09T20:53:08.167 に答える