【问题标题】:Load iframe or div inside js after ajax completeajax完成后在js中加载iframe或div
【发布时间】:2016-05-19 12:48:10
【问题描述】:

在我的站点 ajax 调用 iframe 正在加载某种数据。我想在 ajax 请求完成或数据加载后立即加载 iframe 或 div 数据。我无法直接访问ajax,所以我正在尝试这种方式,但它显示未定义。我认为这是由于 iframe 或 div 每次都没有加载。关于如何在不接触 ajax 代码的情况下在 js 中加载 iframe 或 div 的任何帮助。谢谢

<script type="text/javascript">
setTimeout(function() { alert(jQuery('#wrapper').html()); }, 10000);
</script>

如果我使用 pplus 而不是 wrapper,它只会显示空 iframe。但我想加载它的数据。 iframe 代码如下所示:

<div id="ppplus" style="height: 535px;"><iframe  allowtransparency="true" style="height: 535px; width: 870px; border: none;">
<html>
<div class="content" id="wrapper">data goes here</div>
</html>

</iframe></div>

【问题讨论】:

    标签: javascript php jquery ajax iframe


    【解决方案1】:

    我不知道你为什么要使用 i 框架来显示数据.. 使用一个 div。 iframe 的行为与 div 不同。你没有innerHTML。你有一个身体(myFrame.contentDocument.body)

    不要使用你不知道何时会呈现响应的计时器。

    为包装器 div 添加一个事件监听器,如 DOMSubtreeModified 或 DOMNodeInserted 并获取其内容

      var ppplus = document.getElementById('ppplus');
      ppplus.addEventListener("DOMSubtreeModified",function(e) {
            var myFrame = e.target.firstchild;
            console.log(myFrame.contentDocument.body);
      });
    

    【讨论】:

    • 感谢重播,但问题是在 ajax 调用时加载 iframe。我只能在加载后调用它。所以我正在寻找那个事件。
    • ajax 调用正在创建 iframe?
    • 只需阅读我的答案,您需要查找 dom 修改所需的内容
    • 我在使用您的代码时遇到此错误Uncaught TypeError: Cannot read property 'contentDocument' of undefined
    • 那么 myFrame 没有定义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多