【问题标题】:Safari Developer Tools: How to Preserve Console Log Upon Navigation?Safari 开发者工具:如何在导航时保留控制台日志?
【发布时间】:2013-01-12 10:05:42
【问题描述】:

当使用Safari Web Inspector 读取 JavaScript 控制台输出时,日志会在导航时重置,即从页面 index.html 转到 mail.html 会清除控制台输出.在Chrome Developer Tools 中,我可以通过右键单击控制台空间并选择Preserve Log on Navigation 轻松保存日志。使用此选项,控制台日志输出保持不变,直到我手动清除输出,从而简化了刷新或重定向到另一个页面的 JavaScript 调试过程。

Safari Web Inspector 中是否有类似的功能?

【问题讨论】:

  • 我不这么认为,至少我还没有发现是这样的。
  • 你可以覆盖console.log方法,存储所有接收到的数据,在导航'a'.click时将其保存在本地存储中,然后在像document.ready这样的事件上重新应用它,但它哈克

标签: javascript debugging safari console developer-tools


【解决方案1】:

我不知道这是什么时候添加的,但它存在于 El Capitan 上的 Safari(Safari 9.0)中。它与 Chrome 中的工作方式相同(在控制台窗口中单击鼠标右键并选择“保持登录导航”)。

更新:根据Daniel Compton's answer,在 Safari 11+ 中,它现在位于“控制台:页面导航时清除”的设置图标下。

更新:该设置现在在 Safari 14+ 的开发者控制台的“网络”选项卡中恢复为“保留日志”

【讨论】:

  • 他们本可以隐藏更多!
  • 这个设置的位置甚至没有意义......为什么它在控制台选项卡中而不是在网络或常规设置中?无论如何,非常感谢您的回答。
  • 正如 Daniel Compton 指出的那样,从 Safari 11 开始,情况不再如此。有关最新说明,请参阅 his answer
  • 不幸的是,这两个选项在 Safari 7.1 中似乎都不可用 - 我想我应该升级。
【解决方案2】:

在 Safari 11.1.2 中,他们再次将它(!)移回了“保留日志”复选框下的控制台选项卡。网络日志同样移回了网络选项卡。


在 Safari 11 中,他们将其移至“控制台:页面导航时清除”下的“设置”面板。它还有一个姊妹设置“网络:页面导航时清除”。

【讨论】:

  • 这是最新的,为什么按钮仍然在标签中浏览。
【解决方案3】:

不,没有这样的功能(至少在 Safari 5.0 中)。查看一些 Google 搜索结果,我认为 任何 Safari 版本中都不存在此功能。

【讨论】:

  • safari 5 很古老,我假设你在 windows 上使用 5
【解决方案4】:

对于旧的 Safari 版本,您可以右键单击控制台并选择 Keep Log on Navigation

【讨论】:

    猜你喜欢
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 2011-08-21
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    相关资源
    最近更新 更多