Post 消息到 JavaScript 中的跨源 iframe

Post message to cross-origin iframe in JavaScript

我是 JavaScript 的新手,我正在尝试 post 向我的 iframe 发送消息以便滚动它。 我正在尝试使用此代码实现它。

scroll(i) {
  var src = $("#iframe").attr("src");
  $("#iframe").contentWindow.postMessage(i, src);
}

此代码在 Chrome 控制台中启动时有效,但在从 Webapp(使用按钮)启动时无效。

我收到一条错误消息,指出 contentWindow 未定义。有人知道为什么吗?

$(document).ready(function(){
  $(window).scroll(function() {
   scroll("yourHtmlFile.html");
  });    
 function scroll(i){
    $("#iframe").attr("src",i);
 }});

出于某种原因,我的代码似乎将 $("#iframe") 作为数组进行管理。 我通过这样做解决了这个问题:

scroll(i) {
  var src = $("#iframe")[0].attr("src");
  $("#iframe")[0].contentWindow.postMessage(i, src);
}