我从移动设备上做了很多开发工作。有没有办法让js访问移动浏览器中 中的console.log输出?
答案 0 :(得分:5)
目前,最好的方法是“挂钩”本机控制台并将输出显示为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's mobileConsole并对此非常满意。这很简单,也是您想要和期望的。
我最近意识到Eruda但是没有机会测试它,除了玩他们的演示。它实现了更多的开发人员工具,但由于这个原因,许多项目也可能过度。它感觉不那么轻巧(它的文件大小肯定要大得多,甚至缩小!),如果你想要开发工具的广度和强度,最好使用远程调试。我们大多数想要移动控制台的人只是想要快速测试的基础知识等。
答案 1 :(得分:1)
对于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
..进入设备浏览器的地址栏。不确定是否与连接正常有关
答案 2 :(得分:1)
使用到目前为止最好的 Eruda ,至少从我尝试过的那个。