Cambia l’iframe che si trova in un DModal per includere il linguaggio e il contenuto del codice. Tuttavia, mi dice che iFrame è null, quindi non è stato possibile aggiungere addEventListener ad esso.
Ho provato questo:
Sembra che tu stia lavorando in gjs, quindi puoi semplicemente usare le funzioni glimmer invece di cercare di aggirare il rendering del DOM e le race condition. Aggiungi il modificatore glimmer {{on}} con l’elemento iframe e fai in modo che la tua funzione on loaded venga attivata su di esso.
Ah, ho sbagliato il mio esempio. Dovrebbe essere {{on \"load\" this.onIframeLoaded}}, senza parentesi, poiché dovrebbe essere un riferimento a una funzione.
Hmm… dice che Error: 74:13 error 'on' is not defined in ESLint. E la documentazione non menziona un’importazione perché è un modificatore.
Ho aggiunto event come parametro a onIframeLoaded perché la documentazione lo faceva.
Aggiungi import { on } from "@ember/modifier"; e dovrebbe funzionare.
È una buona idea dare un’occhiata al codice sorgente di Discourse. È un buon posto per imparare con il codice esistente.