Safari Web Inspector - 长字符串值被截断

Posted

技术标签:

【中文标题】Safari Web Inspector - 长字符串值被截断【英文标题】:Safari Web Inspector - Long string values truncated 【发布时间】:2016-07-17 08:51:44 【问题描述】:

在 Safari (9.1) 中,我正在查看一个长字符串值(应该是大约 500 个字符),但只显示前一百个左右,后跟“...”。

我认为这只是一个本地设置,因为我有另一台机器运行 safari,我可以看到更多关于它的信息。我在 Google 中找不到它,也找不到任何东西。

谢谢!

【问题讨论】:

我通过右键单击变量并选择 LOG VALUE 来解决此问题。这会将值写入控制台日志。 在 safari 中右键单击时找不到 LOG VALUE 选项 【参考方案1】:

右键单击字符串并选择“日志值”。这会将完整的字符串打印到控制台。

【讨论】:

谢谢!!。这是最简单、干扰最小的答案【参考方案2】:

我在 Safari 13.0.2 中遇到了同样的问题,其中日志消息被缩短了。但它只会在消息不是 log 函数的第一个参数时才剪切消息:

console.log('first log string', 'second log string')

第一个参数不会(永远?)被缩短。然而,第二个将被截断为大约 100 个字符。

因此,如果您可以访问执行日志记录的代码,请将所有内容放在第一个参数中,您应该会看到整个消息。

console.log('first log string' + 'second log string')

【讨论】:

你是国王 但是如果你也控制台记录一个对象,它就会被截断。当您展开它时,任何带有长字符串的属性都会被截断。您至少应该能够将鼠标悬停在它上面来查看它。 那么问题和答案只涵盖字符串而不是任意对象。【参考方案3】:

我在 safari 中也遇到了同样的问题,我的数组大小高达 20 万,而 safari 只显示前 99 个索引。但我的目标是前 512 个索引,所以我使用了console.log(JSON.stringify(myArray.slice(0, 512)));

【讨论】:

【参考方案4】:

如果将值记录到控制台或复制它(Cmd-C 或使用右键单击上下文菜单),它不会被截断。

在许多地方,Web Inspector 需要在某些时候截断值,以便用户界面对于具有大量长字符串或很少换行符的网站仍然“可用”。

【讨论】:

它复制截断的字符串,末尾没有三个点。

以上是关于Safari Web Inspector - 长字符串值被截断的主要内容,如果未能解决你的问题,请参考以下文章

在 Safari Web Inspector 中调试 Web Worker

Safari Web Inspector 默认显示在新窗口中

默认情况下,Safari Web Inspector出现在新窗口中

Safari Web Inspector - 长字符串值被截断

Safari Mobile Web Inspector 不显示元素选项卡

调试 iPhone 时 Safari Web Inspector 不显示元素和样式面板