【问题标题】:Post message to cross-origin iframe in JavaScript在 JavaScript 中将消息发布到跨域 iframe
【发布时间】:2021-12-05 10:43:20
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript angular google-chrome iframe


    【解决方案1】:
    $(document).ready(function(){
      $(window).scroll(function() {
       scroll("yourHtmlFile.html");
      });    
     function scroll(i){
        $("#iframe").attr("src",i);
     }});
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2020-08-16
        • 2016-11-04
        • 1970-01-01
        • 2019-02-03
        • 1970-01-01
        • 1970-01-01
        • 2022-07-15
        • 2019-07-14
        • 1970-01-01
        相关资源
        最近更新 更多