0

更新:私の目的では iframe は必要なかったようです。また、jQuery/JavaScript のようです: iframe のコンテンツにアクセスすると、私の質問に答えます。

これについていくつかのバリエーションを試しましたが、何もすることを拒否しています。空の iframe が表示されることもあれば、何も表示されないこともあります。

body の直接の子である id 'contents' を持つ要素があります。ボディ内に新しい iframe を作成し、コンテキスト内の dom 階層を維持しながら、「コンテンツ」とそのすべての子を iframe に移動したいと考えています。

私の現在の試みは:

frame = $("<iframe frameborder=\"1\" height=\"100%\">");
        frame.appendTo("body");
        $("#contents").detach().prependTo($("body", frame));

しかし、これは単に「内容」を忘却の中に消し去るだけです。「デタッチ」せずにそれを行うと、「コンテンツ」はそのまま残ります。prependTo から「body」セレクターを削除すると、「contents」が iframe に表示されずに再び消去されます。

編集:何かが根本的に間違っているようです。次のような単純なコードも失敗します:

frame = $("<iframe frameborder=\"1\" height=\"100%\">");
        frame.appendTo("body");
$("<b>text</b>").appendTo(frame);
4

1 に答える 1

0

You need to access the contents of the iframe instead of the iframe itself. So something like the following:

frame.contents().find('html body').html("<b>text</b>")

This injects the HTML into the body of the iframe.

http://api.jquery.com/contents/

于 2012-08-07T23:36:53.967 に答える