我在移动设备上做了很多开发工作。有没有办法让js在移动浏览器中访问console.log输出?
发布于 2018-01-22 16:02:03
目前,最好的方法是“挂钩”到本机控制台并将输出显示为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 );
}
}
....but不是重新发明轮子,有几个你可能有兴趣尝试的项目。
我个人正在使用hnlDesign's mobileConsole,并且对它非常满意。它很简单,而且正是您想要和期望的。
我最近注意到了Eruda,但除了玩他们的演示之外,还没有机会对其进行测试。它实现了更多的开发人员工具,但由于这个原因,对于许多项目来说也可能是过度杀伤力。它感觉不像是轻量级的(它的文件大小肯定要大得多,甚至缩小了!),如果你想要开发人员工具的广度和强度,最好使用远程调试。我们大多数想要一个移动控制台的人只是想要一些基本的快速测试之类的东西。
https://stackoverflow.com/questions/47064232
复制相似问题