2

非表示のiframeを作成し、その最終的なコンテンツをiframe内だけでなくメインページにも取り込むにはどうすればよいでしょうか。(注。私の非表示のiframe URLは同じドメインにあり、phpで記述されており、要件に合わせて変更できます)。

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

私の目標は、非表示のiframeがプロセスを終了している間に(通常は終了するのに10秒かかります)、ある種の読み込みアニメーションをユーザーに表示してから、メインページに最終出力を表示して読み込みアニメーションを削除することです。

非表示のiframeは別のphpURL(これも同じドメイン内)にリダイレクトしてデータを出力しますが、このデータを非表示のiframe内だけでなくメインページ内にも表示したいと思います。これがどのようにできるか教えていただけますか?

4

2 に答える 2

1

状態を共有するために使用ajaxするか、1つのウィンドウでアニメーションを実行し、終了したら、を使用して新しいウィンドウを開くことができます。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>on内のそのメソッドはframe_a.php、postを送信するか、パラメータをに取得します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
    });
}
于 2013-02-02T21:28:48.560 に答える
1

これはあなたが探しているものですか?そうでなければ、私はこれに使用することしか考えられませんでしajaxた。

于 2013-02-02T21:31:17.777 に答える