微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获得创建的ExtensionSidebarPane的句柄,以便我可以更新其内容?

如何解决如何获得创建的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 举报,一经查实,本站将立刻删除。