1

外部 URL のコンテンツを表示する iframe を使用しています。表示するコンテンツがない場合 (つまり、空の場合)、iframe を非表示にしたい。これを行う方法を教えてください。

4

3 に答える 3

3

iframe 内の外部 URL のコンテンツが空で、iframe がクロスドメインでないことを確認したい場合は、iframe 内の body タグの存在を確認できます。存在する場合は、何かがロードされています。jQueryを使用できる場合は、そのlengthプロパティを確認してください。これはクロスブラウザ互換です。ゼロの場合、存在しません。

コード:

if($("#iframeid").contents().find("body").length) {
    // some html page loaded in iframe
}

iframe がクロスドメインの場合、同一オリジン ポリシーによってブロックされます。それ以外の場合、これは機能します。

ソース: iframe が空/null/未定義かどうかを確認する方法は?

于 2013-05-03T04:33:48.753 に答える
-1

Jquery .content() を使用して iframe のコンテンツを評価し、.hide() を使用して非表示にします。後でもう一度表示したい場合は、代わりに .toggle() を使用してください。

于 2013-05-03T04:31:45.857 に答える
-1

いいえ。

これは、呼び出しページのスクリプトでは実行できません。呼び出し元のページは、クロスドメイン セキュリティの制限により、iframe 内に読み込まれた外部ドキュメント オブジェクトにアクセスできません。

于 2013-05-03T04:32:50.020 に答える