我曾经使用"调试控制台"移动Safari在我进行故障排除时打印出console.log消息。使用iOS 6,在Safari的高级设置中," Web Inspector"取代了"调试控制台。"不幸的是,我的公司不允许我将我们正在测试的手机插入我们正在开发的计算机中。
有没有人知道如何启用使用console.log()打印的邮件在iOS 6的iPhone上显示?
答案 0 :(得分:28)
我发现在 window.onerror - >
上输出任何带有警报的JS错误很有帮助window.onerror = function(error) {
alert(error);
};
我将其粘贴到脚本的顶部,以便在本机警报中输出任何运行时错误。也适用于桌面。
答案 1 :(得分:19)
他们删除了它。您现在需要通过Safari进行调试。
http://www.mobilexweb.com/blog/iphone-5-ios-6-html5-developers
实际上很容易设置。
1)确保在iPhone Settings =>下打开Web Inspector设置。 Safari =>高级。
2)将手机插入Mac OSX计算机
3)打开Safar 6并确保开发模式在Safari首选项=>高级=>显示开发菜单
答案 2 :(得分:14)
如果您没有Mac OSX,可以使用此脚本作为控制台替换:
https://github.com/robotnic/waterbug
显示错误消息, 可以记录所有类型的变量, 您必须将iPhone或iPad向右旋转90°才能打开控制台。
答案 3 :(得分:4)
另一个可能的选择是Steve Souders' mobile performance bookmarklet。它包括Firebug Lite,它有一个控制台和更多。它与以前的Mobile Safari控制台完全不同,您必须有连接才能使用它。
答案 4 :(得分:1)
只需在屏幕底部创建自己的控制台即可。这是一个快速的解决方案,但它比在整个地方发出警报更好。确保将它放在根html文件(底部)或转换为所有JS并放入根JS文件(顶部)。
<div id="console"></div>
<style media="screen">
#console {
resize: both;
height :200px;
overflow: scroll;
background: white;
color: black;
border: 1px solid black;
width: 95vw;
padding: 5px;
margin: auto;
}
</style>
<script type="text/javascript">
logger = (...params) => {
const newLog = document.createElement("div");
newLog.textContent = params.reduce((str, param) => {
if (typeof param === 'string') return `${str} ${param}`;
return `${str} ${JSON.stringify(param)}`;
}, '');
document.getElementById('console').appendChild(newLog);
}
window.onerror = (error) => {
const newLog = document.createElement("div");
newLog.style.color = 'red';
newLog.textContent = error;
document.getElementById('console').appendChild(newLog);
};
console.log = logger;
console.warn = logger;
</script>