1

これを行うための私の予備コードは次のようなものです。

$j(document).ready(function() {
   var w = window.open(childPage);

   $j(w.document).ready(function() {
      $j('#DestinationElement', w.document).html($j('#SourceElement').html());
   });
});

ただし、これは、html インジェクション ステートメントにブレークポイントを設定した場合にのみ機能します。つまり、インジェクションを実行する前に、子ウィンドウの準備が整うのを実際には待っていません。

誰かがこれを修正できますか?ありがとう。

4

1 に答える 1

0

イベント リスナーをウィンドウの onload イベントにアタッチします。 子ウィンドウのロードが完了するのを待っています (ただし、IE では attachEvent を使用して「onload」します)。

子ウィンドウ自体で、ドキュメントの準備ができたらオープナーの html を取得します。

$j(document).ready(function() {
   $j('#DestinationElement').html($j('#SourceElement', window.opener.document).html());
});

しかし、元のソリューションが失敗する理由がわからないことは依然として気になります。

于 2012-05-16T00:02:49.983 に答える