【问题标题】:possible to refresh chrome dev tools watch expressions manually or by code?可以手动或通过代码刷新 chrome 开发工具手表表达式吗?
【发布时间】:2014-08-19 02:16:30
【问题描述】:

看看https://developer.chrome.com/devtools/docs/tips-and-tricks#favorite-expression

如果我没有设置任何断点,那么我必须手动单击监视表达式面板中的刷新图标。如果我可以输入一些调试代码来更新监视表达式而不必进入调试模式,那就太好了。

类似这样的:

// some update function
setInterval(function() {
    console.refresh();
}, 1000);

【问题讨论】:

  • 此@ilovett 的任何更新
  • @MaheshVemuri:不,但可能值得填写功能请求
  • @ilovett 你有没有想出一种方法来做到这一点或为它填写一个功能请求?

标签: google-chrome-devtools


【解决方案1】:

更新

查看Live Expressions。这些类似于 Watch Expressions,期望它们在控制台中并且实时更新。

原创

wOxxOm's hack for displaying the average FPS of a Performance recording 给了我灵感,让我知道我们如何一起破解这个问题的解决方案:

  1. 打开开发者工具。
  2. 点击来源标签打开来源面板。您可以导航到其他面板,但在运行以下代码之前,您必须至少打开一次Sources。稍后我会解释为什么你必须这样做。
  3. Undock your DevTools window
  4. 聚焦您的 DevTools 窗口,然后按 Control+Shift+J(Windows、Linux)或 Command +选项+J (Mac)。另一个 DevTools 窗口打开。第二个窗口正在检查您的第一个 DevTools 窗口。之所以可行,是因为 DevTools 本身只是一个网络应用。
  5. 在第二个 DevTools 窗口中,在 Console 中运行此代码:

    let id;
    UI.panels.sources._watchSidebarPane.widget().then(ui => {
        id = setInterval(() => {
            ui._refreshButton.element.click();
        }, 1000);
    });
    

我们基本上只是设置了一个计时器,每秒点击一次“刷新观察表达式”按钮。

以下是实际中的 hack 示例:https://youtu.be/w-3rqFhziQ4

必须在运行代码之前打开 Sources 面板的原因是,UI.panels 对象仅包含您已打开的面板。如果您不打开Sources,则对UI.panels.sources 的引用将是未定义的。

【讨论】:

    猜你喜欢
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 2012-04-06
    • 2012-02-21
    • 2021-07-12
    相关资源
    最近更新 更多