在Chrome开发者工具中查找特定的javascript变量值

时间:2016-04-18 14:01:29

标签: javascript google-chrome-devtools

为了给我们的POS系统提供的购物车编辑固定解决方案提供背景知识。没有“删除”按钮,您必须输入“0”并更新以从购物车中删除项目。我想要一个删除按钮,但这不在他们的优先级列表中。

尝试逐步通过意大利面条(也使用DevExpress,因此大量跳跃)但似乎无法找到它在文本框中发送数量值以更新购物车的地方。基本上,我想把'15'(或其他东西)放到数据更新框中并查看捕获该变量的位置,这样我就可以通过发送该函数'0'来创建一个删除按钮。

TL; DR有没有办法打破变量设置为特定值的位置?例如,当变量设置为“15”时。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以设置仅在满足特定条件时执行的断点。在 Source 选项卡中,打开包含要插入拆分的脚本的文件,然后单击要在执行时断开的行。然后右键单击它并选择编辑断点。输入qty == 15等表达式,只有在该条件下才会发生中断。

我认为这不是你想要的。看起来你想在价值变化的确切时间点突破。

另一种方法是将其父对象上的qty属性替换为在值更改时通知您的另一个属性。所以在控制台中你输入的内容如下:

// assume that order is an object that contains qty.
order._qty = order.qty;
delete order.qty;
Object.defineProperty(order, 'qty', {
  get: function() {
    return this._qty;
  },
  set: function(newValue) {
    this._qty = newValue;
    if (this._qty == 15) {
      console.trace();
    }
  },
  enumerable: true,
  configurable: true
});

setter属性会将数量设置为适当的数量,如果数量等于您想要的数量,则会调用Chrome的console.trace()函数,以便您可以确切地了解它的设置方式和位置。