Il mio sito web fornisce il pulsante della modalità scura, quindi quando il pulsante viene cliccato, devo cambiare il tema dei colori di Discourse Embeds per mantenerlo coerente con il mio sito web.
Ma quando provo ad aggiungere una classe al body dell’iframe incorporato, scopro che iframe.contentDocument è sempre nullo e se uso document.getElementById("discourse-embed-frame").contentWindow.document, l’errore è il seguente:
Penso che dovrebbe esserci un modo per configurare il frame incorporato per consentire l’origine incrociata, ma non ho ancora trovato come configurarlo dopo aver provato alcune configurazioni.
L’altro modo potrebbe essere usare postMessage, come document.getElementById("discourse-embed-frame").contentWindow.postMessage("darkMode"), ma ci deve essere un gestore per gestire il messaggio darkMode nello script, non ho ancora trovato dove aggiungerlo.
Sto riscontrando una sfida simile. Sei riuscito a trovare una soluzione?
A causa del problema cross-origin, non posso aggiungere alcun tipo di marcatore all’iframe che il mio CSS incorporato possa utilizzare per capire quali colori utilizzare: