私は多くの開発作業をモバイルデバイスから行っています。 withinモバイルブラウザからconsole.log出力へのjsアクセスを取得する方法はありますか?
現在、最良の方法は、ネイティブコンソールに「フック」し、出力をHTMLとして表示しながら、出力をネイティブコンソールに送ることです。
非常に簡単に独自のバージョンを実装できます。
// Reference to an output container, use 'pre' styling for JSON output
var output = document.createElement('pre');
document.body.appendChild(output);
// Reference to native method(s)
var oldLog = console.log;
console.log = function( ...items ) {
// Call native method first
oldLog.apply(this,items);
// Use JSON to transform objects, all others display normally
items.forEach( (item,i)=>{
items[i] = (typeof item === 'object' ? JSON.stringify(item,null,4) : item);
});
output.innerHTML += items.join(' ') + '<br />';
};
// You could even allow Javascript input...
function consoleInput( data ) {
// Print it to console as typed
console.log( data + '<br />' );
try {
console.log( eval( data ) );
} catch (e) {
console.log( e.stack );
}
}
....しかし、車輪を再発明するのではなく、試してみたいいくつかのプロジェクトがあります。
私は個人的に hnlDesignのmobileConsole を使用しており、非常に満足しています。それはシンプルで、あなたが望み、期待するものです。
私は最近 Eruda に気づきましたが、デモで遊ぶ以外にテストする機会がありませんでした。それはより多くの開発者ツールを実装しますが、この理由のために多くのプロジェクトにとってはやり過ぎかもしれません。軽量であるとは感じません(ファイルサイズは間違いなくはるかに大きく、縮小されています!)。開発者ツールの幅広さと強度が必要な場合は、リモートデバッグを使用することをお勧めします。モバイルコンソールを必要としている私たちのほとんどは、簡単なテストなどの基本を求めています。
Erudaを使用してください。少なくとも私が試したものからは最高です。
Android-これが動作することがわかりました:
Logcatからのいくつかのconsole.log()行は次のとおりです。
[INFO:CONSOLE(18)] "100 - checking FUNC PARAM ... ", source: https://somewhere/util/message_util.js (18)
[INFO:CONSOLE(18)] "101 - > ENTER: AppAuth.onHasAuthFunc", source: https://somewhere/util/message_util.js (18)
@ Marcus's answer のおかげで、このアプローチを試すアイデア:
「ネイティブコンソールに「フック」する」
~~~~~~
また、タイプすることを提案する他の投稿を見ました:about:debug
..デバイスブラウザのアドレスバーに。接続が機能するようになったことと関係があるかどうかわからない