ホームページ > ウェブフロントエンド > jsチュートリアル > jQueryウィンドウがiframeにあるかどうかを確認します

jQueryウィンドウがiframeにあるかどうかを確認します

Jennifer Aniston
リリース: 2025-03-06 00:08:11
オリジナル
641 人が閲覧しました

Webページがiframeにあるかどうかを判断するための簡単なJavaScriptコード

jQuery Check if Window is in iFrame

以下は、ウィンドウがiframeにあるかどうかを確認するための単純なJavaScriptコードスニペットです。ページのアドレスバーにURLを使用する可能性のある一部の機能に役立ちます。コードは次のとおりです

var isInIframe = (window.location != window.parent.location) ? true : false;
ログイン後にコピー
ログイン後にコピー
関連する読み取り:

注入されたiframe href
    のソースを取得します iframeをリロードする方法
  • JQueryとIframes(faq)
についての

faqs jQueryを使用して、Webページがiframeにロードされているかどうかを確認する方法は?

jQueryを使用して、Webページがiframeにロードされているかどうかを確認するには、

および

プロパティを使用できます。 Webページがiframeにロードされている場合、window.selfwindow.topに等しくありません。これは、単純なコードスニペットです:window.self window.top

javaScriptの
if (window.self !== window.top) {
  // 网页在 iframe 内
} else {
  // 网页不在 iframe 内
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

の違いは何ですか? window.self JavaScriptでは、window.top

は現在のウィンドウを参照し、

はウィンドウ階層のトップレベルのウィンドウを指します。 Webページがブラウザに直接読み込まれている場合、window.selfおよびwindow.topは同じになります。ただし、Webページがiframe内にロードされている場合、window.selfはiframeウィンドウを参照し、window.topはメインブラウザーウィンドウを参照します。 window.self window.topjQueryを使用して、IFrame内でコンテンツを操作できますか?

はい、jQueryを使用して、IFrame内のコンテンツを操作できます。ただし、同じオリジンポリシーのため、これはiframeと親文書が同じドメインからのものである場合にのみ行うことができます。 iframe内のボディタグのHTMLを変更する方法の例は次のとおりです。

jQueryなしで純粋なjavaScriptを使用してiframesを検出する方法は?

$("#myIframe").contents().find("body").html("Hello, World!");
ログイン後にコピー
純粋なJavaScriptを使用して、jQueryメソッドと同様の

を比較することでIframesを検出できます。この方法は次のとおりです

window.self相同ポリシーとは何ですか?また、IFRAMEにどのように影響しますか? window.top

同じオリジンポリシーは、スクリプトが相互に対話するのを防ぐWebブラウザーに実装されたセキュリティ機能です。このポリシーは、親文書のスクリプトがiFrame内のコンテンツにアクセスまたは操作することを防ぐため、iframeに影響します(同じドメインからではない場合)。
if (window.self !== window.top) {
  // 网页在 iframe 内
} else {
  // 网页不在 iframe 内
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

異なるドメインからのIFRAMEにアクセスするために、同じオリジンポリシーをバイパスできますか?

相同ポリシーのバイパスは、通常、セキュリティ上の理由から推奨されません。ただし、親ドキュメントとIFRAMEコンテンツを制御すると、

属性または

メソッドを使用して、2つの間で通信できます。

document.domainメソッドを使用して、iframeと親のドキュメント間で通信する方法は? postMessage

メソッドにより、同じドメインからではない場合でも、Windows間にデータを送信できます。使用方法の例は次のとおりです。
var isInIframe = (window.location != window.parent.location) ? true : false;
ログイン後にコピー
ログイン後にコピー

すべてのブラウザでjQueryを使用して、Webページがiframe内にロードされているかどうかを検出できますか?

はい、Chrome、Firefox、Safari、Edgeなど、すべての最新のブラウザでwindow.selfwindow.topを比較する方法は機能します。

jQueryを使用してWebページをiframeにロードできますか?

はい、jQueryのattrメソッドを使用して、iframeのsrcプロパティを設定して、iframeにWebページをロードすることができます。例は次のとおりです

if (window.self !== window.top) {
  // 网页在 iframe 内
} else {
  // 网页不在 iframe 内
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
jqueryを使用して、そのコンテンツに従ってiframeをサイズ変更できますか?

はい、jqueryを使用して、そのコンテンツに応じてiframeをサイズ変更できます。ただし、同じオリジンポリシーのため、これはiframeと親文書が同じドメインからのものである場合にのみ行うことができます。例は次のとおりです

以上がjQueryウィンドウがiframeにあるかどうかを確認しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート