私のページにはjQuery.terminalが埋め込まれており、入力することでコマンドを送信できます。作業中のスクリプト内に多数の console.log および console.dir コマンドがあります。ターミナルにもそれらを出力させたいのですが、出力しません。
私はそれがこのSOの質問の人たちがしたことのようなものかもしれないと思っていました; console.log を上書きすることにより:
jQuery.terminal でこのようなことをしたいと思います
console.log=function(str){term.echo(str);};
それがどのように機能すると思われるかわかりません。Chromesコンソールからターミナルにアクセスできないため(エコーを行う部分が見つかりません)。
var log;
$('#term').terminal(function(command,term){
if(command!==''){
try{
var result=window.eval(command);
if(result!==undefined){
term.echo(new String(result));
}}
catch(e){
term.error(new String(e));
}}
else{
term.echo('');
}},{
welcome:false,
height:200,
prompt:'> ',
onInit:function(term){
log=term; // now log should reference to term
alert('hello'); // I don't see this alert
}});
console.log('hello'); //only the browsers own console shows this message
次に、Chrome コンソールに手動で入力すると、次のようになります。
log.echo('hi'); // Cannot read property 'echo' of undefined
$.terminal オブジェクトがあるようですが、このイーサからエコーにアクセスする方法がわかりません。これを適切に行うにはどうすればよいですか、それとも開発者がこれを行うために設定した定義された方法がありますか? コンマ区切りのログや dir オブジェクトを台無しにしたくありません。