JavaScript埋め込みが表示されません。コンソールログに「DOMWindowでpostMessageの実行に失敗しました…」と表示されます。

@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 メソッドを実装していない(またはそれに応答する際に問題がある)ことを意味します。

もしレスポンスが 200 である場合、埋め込みの問題は HEAD リクエストとは無関係です。