JavaScript 임베드가 표시되지 않음, 콘솔 로그에 "Failed to execute postMessage on DOMWindow…" 표시됨

@willywongi 제 문제가 무엇이었는지 혼동하고 계실 수 있으니, 무슨 일이 있었는지 설명드리겠습니다.

  1. 단계를 따라 진행했지만 사이트에 댓글이 임베드되지 않았습니다.
  2. 나중에 보니, 다른 도메인에 설치된 제 Discourse 앱이 제 블로그 포스트가 존재하는지 "검증"할 수 없었습니다. 제 메인 사이트가 해당 URL에 대해 HEAD 메서드를 구현하지 않았기 때문이었죠.
  3. 해당 경로에 대한 HEAD 요청 핸들러를 구현한 후, 임베드가 정상적으로 작동하기 시작했습니다.

저와 같은 문제가 있는지 확인하려면, 블로그 포스트가 포함된 URL(또는 댓글 임베드를 표시하려는 위치)에 curl을 실행해 보세요.

예를 들어, URL이 https://example.com/blog/awesome-post라면 터미널에 이동하여 다음을 실행하세요.

curl https://example.com/blog/awesome-post -I

이 명령은 해당 URL에 HEAD 요청을 보내 결과를 반환합니다. 상태 코드가 200이 아닌 경우(응답의 첫 번째 줄에 있는 숫자), 예:

HTTP/2 200

서버가 HEAD 메서드를 구현하지 않은 경우(또는 HEAD 요청에 응답하는 데 문제가 있는 경우)입니다.

응답이 200이라면, 임베드 문제는 HEAD 요청과 무관합니다.