Mi sitio web proporciona el botón de modo oscuro, por lo que cuando se hace clic en el botón, necesito cambiar el tema de color de los Embebecimientos de Discourse para que coincida con mi sitio web.
Pero cuando intento agregar una clase al body del iframe incrustado, encuentro que iframe.contentDocument es siempre nulo, y si uso document.getElementById("discourse-embed-frame").contentWindow.document, el error es el siguiente:
Creo que debería haber una manera de configurar el marco incrustado para permitir el origen cruzado, pero todavía no he encontrado cómo configurarlo después de probar algunas configuraciones.
La otra forma podría ser usar postMessage, como document.getElementById("discourse-embed-frame").contentWindow.postMessage("darkMode"), pero se necesita un manejador para procesar el mensaje darkMode en el script, aún no he encontrado dónde agregarlo.
Tengo un desafío similar. ¿Pudiste encontrar una solución alternativa?
Debido al problema de origen cruzado, no puedo agregar ningún tipo de marcador en el iframe que mi CSS incrustado pueda usar para determinar qué colores usar: