Aggiunta di un widget esterno al composer

Ho provato a fare un tentativo e ho ottenuto risultati simili. Ho provato a usare decorateCookedElement perché alla fine depreccheremo decorateCooked

 api.decorateCookedElement(
    (element) => {
      element.childNodes.forEach((node) => {
        if (node.dataset && node.dataset.pawidget) {
          node.insertAdjacentHTML(
            "beforeend",
            "<div id='PurpleAirWidget_11726_module_AQI_conversion_C0_average_0_layer_standard'>Loading PurpleAir Widget...</div>"
          );

          loadScript(
            `https://www.purpleair.com/pa.widget.js?key=${node.dataset.pawidget}&module=AQI&conversion=C0&average=0&layer=standard&container=PurpleAirWidget_11726_module_AQI_conversion_C0_average_0_layer_standard`
          );
        }
      });
    },
    { id: "widget-append", onlyStream: true, afterAdopt: true }
  );

La leggera differenza qui è che ho passato la chiave con l’attributo data:

<div data-PAWidget="21R72LUN79CXRZ50"></div>

Questo funziona bene per me se è la prima volta che lo script viene caricato. Se visualizzo un post con lo script, poi torno all’elenco degli argomenti e rientro nell’argomento, non funziona (finché non aggiorno). Vedo che decorateCookedElement viene eseguito ogni volta che viene caricato il post pertinente, ma c’è qualcosa che impedisce allo script di funzionare di nuovo.

Non sono sicuro se sia correlato, ma vedo anche un errore Uncaught TypeError: i is null nella console da pa.widget.js:

Screen Shot 2021-11-08 at 9.11.39 PM