0

IDが「appframe」のiframeがあり、ソースはpage.htmlで、同じサーバー上にあります。jQueryを使用してページのソースを取得したい。

alert($("#appframe").contents().find("html").html());

<head></head><body></body>ドキュメントにこれらのタグが含まれていなくても、「デフォルトページ」のみが含まれているため、返されるはずです。jQueryを使用してドキュメント全体の正しいソーススクリプトを取得する方法はありますか?

例えば。ドキュメントが「テスト」である場合、それはまさにそれが返す必要があるものです。

注意:私は数週間前にこれを尋ねました。残念ながら、私は解決の答えを得ることができませんでした。私の評判が低い(〜85)ため、賞金を要求することはできません...これは私にはあまり意味がありません。とにかく、それは私にこの質問を再投稿することを余儀なくさせました。

4

1 に答える 1

1

への呼び出しは、タグ$("#appframe").contents().find("html").html()内にあるものを取得します。<html></html>

IFRAME の場合、読み込みが完了していない場合は、<head></head></body></body>存在するはずの空白が返されます。

$(document).ready() 内で呼び出すと、IFRAME の読み込みが完了していない可能性があります。ボタンクリックイベント内から呼び出しを行ってみてください。

IFRAME にプレーン テキストが含まれていて、その html() を取得しようとすると、前述の空白の head タグと body タグが存在しなくても含まれることに注意してください。

IFRAME 内のすべての HTML にアクセスする必要がない場合は、("body").html() を呼び出してコンテンツを取得する必要があります。ボタンクリックイベント内からこれを呼び出してみてください:

alert($("#appframe").contents().find("body").html());

于 2009-05-29T11:24:07.740 に答える