Ein externes Widget zum Composer hinzufügen

Ich habe mich daran versucht und ähnliche Ergebnisse erzielt. Ich habe versucht, decorateCookedElement zu verwenden, da wir decorateCooked irgendwann auslaufen lassen werden.

 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 }
  );

Der geringfügige Unterschied hier ist, dass ich den Schlüssel mit dem Datenattribut übergeben habe:

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

Das funktioniert für mich in Ordnung, wenn es das erste Mal ist, dass das Skript geladen wird. Wenn ich einen Beitrag mit dem Skript ansehe, dann zur Themenliste zurückkehre und das Thema erneut aufrufe, funktioniert es nicht (bis ich aktualisiere). Ich kann sehen, dass decorateCookedElement jedes Mal ausgelöst wird, wenn der relevante Beitrag geladen wird, aber etwas hindert das Skript daran, erneut zu funktionieren.

Ich bin mir nicht sicher, ob es damit zusammenhängt, aber ich sehe auch einen Uncaught TypeError: i is null-Fehler in der Konsole von pa.widget.js:

Screen Shot 2021-11-08 at 9.11.39 PM