ajax完成后,在js内加载iframe或div

时间:2016-05-19 12:48:11

标签: javascript php jquery ajax iframe

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

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

如果我使用pplus而不是包装器,则只显示空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>

1 个答案:

答案 0 :(得分:0)

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

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

为包装器div添加一个类似DOMSubtreeModified或DOMNodeInserted的eventlistener并获取其内容

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