He buscado en el foro una respuesta a este problema y he probado algunas de las diferentes opciones publicadas.
Estoy ejecutando una publicación de Ghost en un Digital Ocean Droplet y un foro de Discourse en un Digital Ocean Droplet separado, ya que el consenso del foro parecía ser que no se deben instalar dos aplicaciones en el mismo servidor.
forum.mysite punto com
mysite punto com
Me gustaría que los comentarios de Discourse aparecieran en cada publicación y no tengo una URL de slug mysite.com/blog. Así que seguí la documentación para obtener la URL del sitio actual y usarla como URL de incrustación.
Puedo hacer que el marco aparezca en cualquier publicación nueva. Sin embargo, no se carga y proporciona el siguiente error: Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('<URL>') does not match the recipient window's origin ('<URL>').
He confirmado que mi configuración HTTPS es correcta. Mi URL incrustada imita el tutorial, pero probé algunas variaciones diferentes de discourseEmbedUrl para intentar solucionar el problema. Todas las referencias a la URL del artículo actual causan el mismo error.
También intenté agregar una función de espera, pensando que quizás el marco no se cargó, pero el mismo error persiste.
Cualquier ayuda aquí sería apreciada, ya que he agotado todas las soluciones publicadas. Creo que puede tener que ver con que mi foro y mis artículos estén en máquinas separadas.
Este es un error bastante común: Search results for 'Failed to execute 'postMessage' on 'DOMWindow'' - Discourse Meta. Es una posibilidad remota, pero una causa posible del error es no haber completado la configuración “Nombre de usuario para la creación de temas” que se encuentra en la página de configuración de incrustación de Discourse.
Hola Simon, originalmente tuve el problema de no tener el nombre de usuario correcto para la creación de temas en el panel de administración de Discourse. Pero lo corregí para que aparezca JosephPaul en el panel, así como en: \u003cmeta name='discourse-username' content='JosephPaul'\u003e
Así que esos están correctos, hasta donde sé.
También eché un vistazo al segundo enlace que enviaste, y creo que todo está correcto. Acabo de intentar cambiar mi sitio de Discourse para que no requiera inicio de sesión y eso no resolvió el problema.
El problema persiste incluso con publicaciones recién generadas.
Editar:
He intentado nuevamente seguir algunos de los cambios sugeridos en la URL de incrustación en la publicación anterior. El siguiente código está recreando el error:
Envíame un mensaje privado con un enlace a una publicación de blog que tenga el código de inserción y lo revisaré.
Para reducir la causa del problema, sería genial si pudieras intentar agregar el código de inserción que se encuentra en tu página de inserción de Discourse sin modificaciones, aparte de reemplazar EMBED_URL con la URL de la página del blog.
Hola Simon, claro que te enviaré un fragmento y un enlace al sitio en vivo. ¿Cómo envío un mensaje directo en Discourse? Quizás mi nivel de confianza no es lo suficientemente alto.
La documentación decía que hiciera clic en tu nombre y aparecería una ventana emergente con un mensaje, pero no veo eso de mi lado.
¡Gracias de nuevo por la ayuda hasta ahora! Me aseguraré de actualizar mi pregunta con la solución que se alcance.
Además, se añadieron https://www.test.com y https://test.com
A la configuración src de la política de seguridad de contenido del sitio de Discourse, que se encuentra en la pestaña de administración de Discourse > configuración.
Nota: En mi experiencia, si actualizas la página demasiado rápido en un droplet pequeño, es posible que no veas los resultados durante unos 30 segundos, así que dale unos momentos a cada reinicio fantasma y a cada edición del panel de administración de Discourse para que surtan efecto.
Nota adicional: Hay una latencia considerable al comprobar la sección de comentarios de cualquier artículo por primera vez. @simon recomienda comprobar siempre tú mismo el artículo primero, para que Discourse tenga tiempo de generar las secciones de comentarios asociadas a la publicación del foro.
De nuevo, gracias a todos, muy útil. Muchos comentaristas de YouTube en el tutorial que vi tuvieron los mismos problemas que yo, que hacían referencia a las instrucciones de integración de Discourse/Ghost. Los enlaces de YouTube pueden estar obsoletos, así que esta ayuda fue genial.
Me alegro mucho de que ahora funcione. la incrustación es un poco complicada porque no es exactamente igual para cada configuración. Gracias por compartir tu experiencia, he aprendido de esto. Además, @simon es increíble y una de las personas más agradables, inteligentes y serviciales que he tenido el placer de conocer. Y además, se le da bastante bien Discourse.