# Aggiunta di un widget esterno al composer

**URL:** <https://meta.discourse.org/t/adding-an-outside-widget-to-composer/207563>\
**Category:** Development\
**Created:** [29 Ottobre 2021, 4:39pm UTC](https://meta.discourse.org/t/adding-an-outside-widget-to-composer/207563 "2021-10-29T16:39:14Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)\
**Post date:** [9 Novembre 2021, 2:13am UTC](https://meta.discourse.org/t/adding-an-outside-widget-to-composer/207563/7 "2021-11-09T02:13:44Z")

</div>

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

```js
 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:

```xml
<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](https://cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/0/e011ede9e70096522d175a0306c4cb9088a199a2_2_690x65.png)

---

_[View the full topic](https://meta.discourse.org/t/adding-an-outside-widget-to-composer/207563)._
