当iframe完成其进程时,如何将相同的域隐形IFRAME内容放入主页?

时间:2013-02-02 21:21:08

标签: php javascript html iframe

我想知道如何创建一个不可见的iframe,并将其最终内容放入主页,而不仅仅是在iframe内? (注意:我的隐形iframe网址在同一个域中,用PHP编写,我可以根据我的要求修改它。)

<iframe id ='myframe' src='http://www.mydomain.com/process.php'></iframe>

我的目标是向用户显示某种加载动画,而不可见的iframe完成其过程(通常需要10秒才能完成),然后在主页面中显示最终输出并删除加载动画。

我的隐形iframe重定向到另一个php网址(也在同一个域中)并输出一些数据,但我想在我的主页面内显示这些数据,不仅仅是在隐形iframe中。你们能告诉我这是怎么做到的吗?

2 个答案:

答案 0 :(得分:1)

使用ajax分享状态黑/或您可以在一个窗口中执行动画,完成后,您可以使用window.open();

打开一个新窗口

我从未以这种方式尝试过ajax,但是:

<frameset cols="25%,*,25%">
  <frame src="frame_a.php">
  <frame src="frame_b.php">
</frameset>

frame_a.php上的动画完成时,JavaScript方法可以使用ajax与frame_b.php进行通信

<script></script>上的frame_a.php内的该方法会将帖子或获取参数发送到frame_b.php。不要担心加载...如果你没有很多资源(css / js文件),它就够快了。此外,如果您不希望用户等待,您可以在frame_b.php上设置一些默认动画。

这是该方法应包含的内容:

function share_state_with_frame_b(state) {
    $.ajax({
      type: "POST",
      url: "frame_b.php",
      data: { d1: "v1" , d2: "v2" }
    }).done(function( msg ) {
      // close frame_a.php
    });
}

答案 1 :(得分:1)

This你在寻找什么?否则我只能考虑使用ajax