親ページでフォームブリッジの「iframe」からpostMessageで値を受信したい

過去にあった質問内容に類似のものがあり、参考にしましたが解決できなかった為、投稿させていただきます。

[類似の質問内容] https://developer.cybozu.io/hc/ja/community/posts/360000686183–%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8-iframe%E3%81%AE%E9%AB%98%E3%81%95%E8%87%AA%E5%8B%95%E8%AA%BF%E7%AF%80%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

背景・実現したいこと

子ぺージから取得した要素の高さをpostMessageで親ページに送信し、iframeのheightに反映したい。
 

上手くいかないところ
postMessageで送信した値の取得ができない。

console.dir(event)で値の確認をしたいのですが、そもそも postMessageで送信できていないのか値が取得できません。

postMessageで送信するにはどうしたらいいのでしょうか?
回答いただけると幸いです。

ソースコード
[フォームブリッジ iframe内で使用しているコード]

// 要素の隠れた部分も含めた高さを取得

function sendHeight() {
const elementHeight = document.documentElement.scrollHeight;
// 取得した高さを表示
console.log("sendHeight.js" , elementHeight)
window.parent.postMessage(elementHeight, "https://leanonme.co.jp");
}

// 実行
window.addEventListener("load", sendHeight);

[親ページのソースコード iframeを埋め込んでいる]

'use strict';

// 受信メッセージのチェック
function receiveMessage(event) {
if (event.origin !=="https://leanonme.co.jp") {
     return;
}
if (event ===null) {
    return;
}
console.log("receiveMessage 処理中")
console.dir(event);

changeElementHeight(event.data);
}

// 要素の高さを変更する
function changeElementHeight(height) {
document.getElementById("formBridge_contact").height = height;
}

// 実行
window.addEventListener("message", receiveMessage);

谷 優志さん

こんにちは

 

iframe側

window.parent.postMessage(elementHeight, "https://leanonme.co.jp");

親のドメイン名を記載するものと思いますので、フォームブリッジのドメイン名に変更してみていかがでしょうか。

window.parent.postMessage(elementHeight, "https://form.kintoneapp.com");