Creo que tienes que configurar
DISCOURSE_ENABLE_CORS: true
en tu app.yml (en alguna parte de la sección env)
¿No debería estar configurando la variable DISCOURSE_ENABLE_CORS para Discourse?
No estoy seguro de lo que estás diciendo, pero por favor intenta hacer lo que se recomendó. Estoy bastante seguro de que puedes hacer un ./launcher destroy app;./launcher start app en lugar de una reconstrucción completa.
Gracias por tu respuesta. Disculpa por no haber sido lo suficientemente claro en mi mensaje anterior.
Estoy usando una instancia alojada de Discourse y voy a incrustar Discourse en mi sitio web, y cuando intento obtener el objeto contentDoument del iframe de Discourse incrustado, encuentro el límite de origen cruzado. En la página de configuración de administración, noté que existe la configuración de “orígenes cors” como se muestra en la imagen del tema. Luego agregué mi URL de origen de prueba, pero no funcionó. Y noté el consejo de que La variable de entorno DISCOURSE_ENABLE_CORS debe establecerse en true para habilitar CORS. Sin embargo, no puedo encontrar dónde establecer DISCOURSE_ENABLE_CORS en la configuración de administración.
Quiero saber cómo configurar DISCOURSE_ENABLE_CORS, o si mi configuración de dominio cruzado no está funcionando, ¿está relacionada con esta configuración?
La incrustación no es mi fuerte, pero creo que la configurarías en /admin/customize/embedding en lugar de cambiar la variable de entorno.
Gracias por tu respuesta. Lo intenté pero no funcionó.
Si quieres que te ayudemos, necesitas explicar lo que intentaste en detalle.
No creo que puedas hacer eso.
Hay una configuración oculta del sitio que permite incrustar un iframe, pero sospecho que no está disponible en los planes estándar o de negocios. Puedes contactar a tu contacto de soporte para preguntar.
Incrustar Discourse en un iframe no está oficialmente soportado.
El iframe se crea mediante un script de JavaScript oficial. Estoy usando los códigos que se proporcionan en /admin/customize/embedding, como se muestra a continuación:
Necesito mantener las partes incrustadas consistentes con el patrón de color de mi sitio web, por lo que tengo que acceder al iframe aunque no lo haya creado yo.
@mikeguo ¿cuál es la plataforma del sitio en el que intentas incrustar tus Temas de Discourse?
Por ejemplo, ¿es un sitio de Wordpress o un blog de Ghost?
Por favor, proporciona una URL a una Publicación en el sitio de destino.
Todo lo que puedo ver es esto (de la captura de pantalla del código en tu Tema anterior):
https://e53c-185-143-220-5.eu.ngrok.io/
Así, por ejemplo, utilicé la variable de entorno ‘DISCOURSE_ENABLE_CORS’ como se describe en esta publicación para mostrar contenido de mi foro de Discourse en una página dentro de mi blog de Ghost…
Sin embargo, la función que parece que intentas usar desde tu código publicado aquí arriba…
…parece indicar que intentas incrustar Temas de tu foro de Discourse COMO PUBLICACIONES dentro de tu sitio externo, lo cual es un caso de uso diferente.
Necesitamos que expliques mejor qué es lo que intentas hacer aquí…
Muchas gracias por tu detallada explicación.
https://algo.monster es mi sitio web en el que quiero incrustar Discourse. Específicamente,
incrustar Discourse en la página del artículo para mostrar comentarios, y reemplazar Cusdis que estoy usando. Por ejemplo,
el artículo https://algo.monster/problems/math-basics, y los comentarios:
Mi sitio web
https://algo.monster no utiliza una plataforma de blogs, ni Wordpress ni Ghost. Mi sitio web está implementado con mi propio código y desplegado en mi propio servidor en la nube.Usando los códigos que se proporcionan en
/admin/customize/embedding, los Discourse incrustados se muestran correctamente.El problema que espero resolver configurando
DISCOURSE_ENABLE_CORS es el siguiente:
Esta URL es la que estoy usando para probar y no debería causar problemas de origen cruzado.
Gracias @mikeguo. ¿Qué has puesto en tu fragmento de script para discourseEmbedUrl donde dice ‘REPLACE_ME’?
Para vincular a temas existentes en lugar de crear temas automáticamente, reemplacé el parámetro discourseEmbedUrl por topicId, como se muestra a continuación:
Gracias de nuevo @mikeguo – lo siento, pero esto ahora está más allá de mi capacidad de ayudar… Espero que alguien más aquí pueda aconsejar…
Gracias por tu ayuda de todos modos ![]()





