HuolalaTech / page-spy-web

Debug remotely and easily like chrome devtools.
https://www.pagespy.org
MIT License
4.59k stars 273 forks source link

日志回放页面的对象无法展开 #237

Closed akirarika closed 4 months ago

akirarika commented 4 months ago

Describe the bug

在页面中,使用 console.log 的方式,打印一个对象后,复制回放会发现打印的对象无法展开

console.log({ hello: 'world' });
image

日志地址:

https://test.jikejishu.com/#/replay?url=https://test.jikejishu.com/api/v1/log/download?fileId=local.7d037b6d70c109dc115727c6425d8ba2#Console

Steps to reproduce

No response

System Info

Mac, Edge

Logs

No response

Validations

wqcstrong commented 4 months ago

主要是考虑在离线场景中「直接序列化数据可能会产生未知的副作用」,会在后面优化这个功能。

wqcstrong commented 4 months ago

v1.9.1 支持在离线回放时查看打印的普通对象。

jerry-ola commented 2 months ago

v1.9.1 支持在离线回放时查看打印的普通对象。

@wqcstrong 不能支持在线实时调试查看对象和数组类型吗

wqcstrong commented 2 months ago

v1.9.1 支持在离线回放时查看打印的普通对象。

@wqcstrong 不能支持在线实时调试查看对象和数组类型吗

在线模式展开对象一直是支持的,日志回放的时候需要设置:https://www.pagespy.org/#/docs/changelog%23v1_9_1

jerry-ola commented 2 months ago

v1.9.1 支持在离线回放时查看打印的普通对象。

@wqcstrong 不能支持在线实时调试查看对象和数组类型吗

在线模式展开对象一直是支持的,日志回放的时候需要设置:https://www.pagespy.org/#/docs/changelog%23v1_9_1

WechatIMG83 这是我在在线模式点击控制台展开对象,有时候要点很多次才能展开,并且会提示客户端已离线

wqcstrong commented 2 months ago

@jerry-ola 网络问题。

解释下 PageSpy 的工作流程:

jerry-ola commented 2 months ago

@jerry-ola 网络问题。

解释下 PageSpy 的工作流程:

  • 在调试端点击对象后会通过 websocket 发送指令给服务端;
  • 服务端转发到指定客户端;
  • 客户端检索指令所对应的对象信息,找到之后返回给服务端;
  • 服务端发给调试端;
  • 调试端渲染

了解了,我在浏览器端打开这个页面,确实每次都能点击展开这个对象,但是当这个页面在 App 里面的 webview 打开的时候确很难点击展开,请问是因为放在 App 里面导致 websocket 消息丢失了吗,可以如何解决这个问题

wqcstrong commented 2 months ago

@jerry-ola 上面说的交互流程在已支持的平台用的都是同一套,所以请优先排查网络问题

wqcstrong commented 2 months ago

另外,手机黑屏、切到后台等操作都会导致 ws 断开。

参考:

jerry-ola commented 2 months ago

另外,手机黑屏、切到后台等操作都会导致 ws 断开。

参考:

  • 点击 - 过一会儿才展开对象:网络问题;
  • 点击 - 根本不展开:ws 连接断了;

WechatIMG84 在 App 端的 h5 页面出现大量的 websocket 链接,这是正常的吗

wqcstrong commented 2 months ago

@jerry-ola 正常的,这是 SDK 在尝试重连,先确认你的手机能正常访问 PageSpy 服务所在的网络

jerry-ola commented 2 months ago

@jerry-ola 正常的,这是 SDK 在尝试重连,先确认你的手机能正常访问 PageSpy 服务所在的网络

可以的,我的 PageSpy 服务是部署在我页面的子路径下的,参考文档里面的如何部署到 nginx 子路径

wqcstrong commented 2 months ago

可以加群细聊,中文 README 中有群二维码