chrome devtools侧边栏窗格,设置多标题对象

时间:2015-02-26 08:25:35

标签: google-chrome google-chrome-devtools

在开发Chrome扩展时,在创建多标题侧边栏窗格时遇到了困难。

根据手册setObject设置对象作为边栏内容,但只有单个标题:

sidebar.setObject({ some: 'qwe' }, 'title');

结果如下:

enter image description here

但我的目标是设置对象以满足以下条件:

enter image description here

我试图使用多setObject,但是,正如我所料,它不会附加数据,它会覆盖它。我知道setPage,以及通过JS设置这样的对象的能力,但我对使用纯铬API的解决方案感兴趣 工具

2 个答案:

答案 0 :(得分:2)

这实际上非常简单。您必须摆脱title 可选 ,如果提供,则用作 root < / strong>表达式树。 (来源:DevTools API)。

因此,如果您按以下方式致电setObject

var jsonObj = {
    first: {some: 'foo'},
    second: {some: 'bar'},
    third: {some: 'baz'}
};

sidebar.setObject(jsonObj);

你会得到:

enter image description here

请注意,与事件监听器侧边栏相比,输出略有不同,因为我们只是输出一个JSON对象。但这可能符合您的需要,而且我个人觉得有用的事实是总结而不必打开每个元素。如果您确切需要事件监听器侧栏中显示的内容,我猜您必须进一步查看setObject

答案 1 :(得分:2)

不能将setObject用于此目的,因为它总是在测试中删除以前的对象(在307行)。所以只有一个对象有一个标题/标题部分。

如果您查看eventListener Sidebar Pane的来源,您可以看到它正在构建页面而不是使用setObject,使用扩展程序无法使用的函数,并构建此树它本身就是这样的(因此对于这种视图类型没有真正的干净构建器可以暴露。但如果你不这样,那么在properties Sidebar Pane中{{3}}比eventListener Sidebar Pane更容易理解这种侧边栏页面所需的逻辑。需要过滤视图/等。)

要了解一下,您可以通过setPage将CSS复制到您提供的页面的源代码中。