Safari 开发者工具:如何在导航时保留控制台日志?

Posted

技术标签:

【中文标题】Safari 开发者工具:如何在导航时保留控制台日志?【英文标题】:Safari Developer Tools: How to Preserve Console Log Upon Navigation? 【发布时间】: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这样的事件上重新应用它,但它哈克 【参考方案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

【讨论】:

以上是关于Safari 开发者工具:如何在导航时保留控制台日志?的主要内容,如果未能解决你的问题,请参考以下文章

Safari 视图控制器 URL/导航框(文本字段)颜色

如何将 Brightcove 播放器保留在应用程序中而不跳转到 safari

重定向时如何在 Safari 中保留 uri 片段?

在没有导航控制器的情况下滑动 Web 视图时如何隐藏工具栏?

Google Play 控制台要求应用开发者“记得在 2020 年 11 月 1 日之前在您的应用中实施帐户保留和恢复”这是啥意思? [关闭]

目标 C:使用代码实现导航控制器时如何在 NIB 中添加工具栏