【问题标题】:In Chrome Devtools Protocol, what is `injectedScriptId`?在 Chrome Devtools 协议中,什么是 `injectedScriptId`?
【发布时间】:2019-06-07 05:05:55
【问题描述】:

在 CDP 中,例如,当执行 Debugger.evaluateOnCallFrame 以评估某个对象时,响应将包含一个类似于 {injectedScriptId: 1, id: 413}objectId 属性。而injectedScriptId 永远不会改变(至少我从未观察到它改变过)。 id 属性似乎是内存中唯一的对象 ID。

相关(甚至更重要,但只是寻求确认)问题:objectId 中的id 是整个程序/进程中对象的唯一标识符吗?我可以依赖它来构建变量的序列化、无循环引用的字符串表示形式吗?

那么injectedScriptId 的用途是什么,InjectedScript 是什么?

【问题讨论】:

    标签: javascript debugging google-chrome-devtools chrome-devtools-protocol


    【解决方案1】:

    Answer from JoelEinbinder:

    这是一个内部实现细节,因此您不应依赖它 并且它可能会在没有警告的情况下随时更改,或者不正常 始终如一。

    注入脚本是我们注入到 JavaScript 中的内部东西 执行上下文来管理远程对象和其他事物。那是 为什么他们有单独的 id 计数器。

    所以不,内部 id 不是唯一的。使用字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 2018-01-20
      • 1970-01-01
      相关资源
      最近更新 更多