【问题标题】:javascript postMessage event.data come back as a number not a stringjavascript postMessage event.data 作为数字而不是字符串返回
【发布时间】:2018-05-18 20:15:13
【问题描述】:

我有一个 iframe,它希望向父页面发送一条简单的消息。当我的父页面函数被调用时,我得到了 event.data 但它是一个数值,而不是一个字符串。

iframe 脚本

        <script type="text/javascript">
    function sendMessage(){
        var message = "";
        message = "Hello, I am an Iframe that has loaded";
        parent.postMessage(message, '*');
    }
    </script>

html页面上的脚本

<script>
function receiveMessage(event){
alert(event.data);
}
window.addEventListener("message", receiveMessage, false);

</script>

event.data 返回 197。 有什么想法吗?谢谢你。

【问题讨论】:

  • 这就是全部吗?我刚刚在两个本地 html 文件中测试了你的代码,它工作正常。
  • 有一个pardot iframe,我有脚本。就是这样。
  • 我没有调用该方法。愚蠢的错过了一步。谢谢

标签: javascript postmessage


【解决方案1】:

在 iframe 中添加如下代码...

<script>
  function sendHeight() {
    var height= document.getElementById('pardot-form').offsetHeight;
    window.parent.postMessage({
     'height':height,
     'location':window.location.href
    }, '*');
  }
  window.onload = sendHeight;
  window.onresize = sendHeight;
</script>

【讨论】:

    猜你喜欢
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多