如何解决如何获得创建的ExtensionSidebarPane的句柄,以便我可以更新其内容?
我正在开发一个Chrome扩展程序,其中涉及添加元素面板,用户可以在其中查看localStorage
中某些动态数据的当前状态。
我已经成功创建了ExtensionSidebarPane,并使用了createSidebarPane方法和回调函数中的setObject方法来显示内容。
let populatePaneFromLocalStorage = function (sidebar) {
chrome.devtools.inspectedWindow.eval(
'localStorage.getItem("myData")',function (result) {
let data = JSON.parse(result);
let displayData = "No Data Stored in Local Storage";
if (data != null) {
displayData = data;
}
sidebar.setobject(displayData);
}
);
}
let pane = chrome.devtools.panels.elements.createSidebarPane("Currently Stored Data",populatePaneFromLocalStorage);
console.dir(pane);
上面的代码成功创建了窗格,并在首次打开devtools并实例化窗格时显示了正确的初始内容。
但是我的问题是我无法弄清楚如何获取已创建的ExtensionSidebarPane
的句柄,以便以后进行更新。
不幸的是,从console.dir(pane)
返回的值始终是undefined
。我曾希望Google的chrome.devtools.panels.elements.createSidebarPane像Mozilla的devtools.panels.elements.createSidebarPane一样工作,而Mozilla的covid time series data in gist似乎是基于它的-Mozilla版本创建了一个Promise
,该分辨率可以访问包含创建的窗格的变量,但是Chrome版本似乎不执行此操作,因为它不返回任何内容。
否则,我不确定在创建Elements窗格后如何更新它。我也找不到其他方法来删除该窗格,以便我可以重新添加它,或以某种方式强制对其进行刷新/重新实例化。
我希望外面有人可以提供帮助吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。