【问题标题】:iOS 6 debug console gone?iOS 6 调试控制台没了?
【发布时间】:2012-09-17 05:07:09
【问题描述】:

当我进行故障排除时,我曾经使用移动 Safari 的“调试控制台”打印出 console.log 消息。在 iOS 6 中,在 Safari 的高级设置中,“Web Inspector”取代了“Debug Console”。不幸的是,我的公司不允许我将我们正在测试的手机插入我们正在开发的计算机上。

有谁知道如何在装有 iOS 6 的 iPhone 上显示使用 console.log() 打印的消息?

【问题讨论】:

    标签: iphone ios ios6


    【解决方案1】:

    他们删除了它。您现在需要通过 Safari 进行调试。

    http://www.mobilexweb.com/blog/iphone-5-ios-6-html5-developers

    实际上很容易设置。
    1) 确保您的 Web Inspector 设置已在 iPhone 设置 => Safari => 高级下打开。
    2) 将手机插入 Mac OSX 计算机。
    3) 打开 Safar 6 并确保开发模式在 Safari Preferences => Advanced => Show Develop Menu

    【讨论】:

    • 是的,这非常简单……除非你没有 Mac。
    • 也没有回答问题:提问者说他​​不允许将手机插入他的 Mac。
    • 你们应该试试Firebug Lite (bookmark version)。它对我来说很好。
    • @Derek 我无法让 Firebug Lite 在我的 iPhone 3GS 上使用 Safari 和 iOS 6 运行。为什么他们在 iOS 6 中删除了控制台!?现在您甚至无法通过 Safari 进行调试,因为您需要仅在 Mac 上运行的 Safari 6。如果您正在运行 Windows,您将完全被填满。为耻辱苹果。我回到使用 alert() 进行调试。惊人的。这是有史以来最落后的事情。猜猜这会教我使用第 6 版软件。命名一个好的版本 6 软件。 Windows 6 = Vista、iOS 6、Safari 6。有人看到这里的模式吗?第666章……
    • @zuallauz - 如果你想在 Windows 上调试,你可以使用远程调试。您可以在 jsfiddle 中尝试一下。 ;)
    【解决方案2】:

    如果您没有 Mac OSX,您可以使用此脚本作为控制台替换:

    https://github.com/robotnic/waterbug

    它显示错误信息, 可以记录所有类型的变量, 您必须将 iPhone 或 iPad 向右旋转 90° 才能打开控制台。

    【讨论】:

      【解决方案3】:

      另一个可能的选择是 Steve Souders 的mobile performance bookmarklet。它包括 Firebug Lite,它有一个控制台和更多功能。它与以前的 Mobile Safari 控制台不太一样,您必须连接才能使用它。

      【讨论】:

        【解决方案4】:

        我发现在 window.onerror ->

        上输出任何带有警报的 JS 错误很有帮助
        window.onerror = function(error) {
            alert(error);
        };
        

        我将其粘贴到脚本的顶部,以便在本机警报中输出任何运行时错误。也适用于桌面。

        【讨论】:

        【解决方案5】:

        只需在屏幕底部创建您自己的控制台。这是一个快速的解决方案,但它比到处发出警报要好。确保将其放入根 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>
        

        【讨论】:

        猜你喜欢
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-09
        • 1970-01-01
        • 1970-01-01
        • 2017-03-16
        • 2015-10-02
        相关资源
        最近更新 更多