ホームページ >ウェブフロントエンド >jsチュートリアル >Web ページが IFrame 内に読み込まれているかどうかを検出するにはどうすればよいでしょうか?

Web ページが IFrame 内に読み込まれているかどうかを検出するにはどうすればよいでしょうか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-05 16:06:18747ブラウズ

How Can We Detect If a Webpage Is Loaded Inside an IFrame?

多目的 Web ページの iframe 読み込みの識別

Web 開発の領域では、iframe 内に直接読み込まれた Web ページを区別します。多くの場合、ブラウザ ウィンドウは重要なタスクです。これは、通常の Web サイトと Facebook 内のキャンバス ページの両方をレンダリングするなど、複数の目的を果たすことを目的としたアプリケーションに特に関係します。この課題に対処するために、Web ページの読み込み環境を判断する方法を検討します。

Iframe 読み込みの検出

Web ページが iframe 内に読み込まれているかどうかを確認するには、次の方法を活用できます。ウィンドウオブジェクト間の違い。特に、self プロパティは現在のウィンドウを表し、top プロパティは最も外側のウィンドウまたはフレームを表します。これら 2 つのウィンドウ オブジェクトが同一でない場合は、Web ページが iframe 内に読み込まれていることを意味します。

コード実装

const inIframe = () => window.self !== window.top;

この関数は、次のことを示すブール値を返します。ページが iframe 内に読み込まれるかどうか。 true 値は iframe のロードを示し、false 値はブラウザ ウィンドウへの直接ロードを示します。

クロスオリジン アクセスの更新

ブラウザのセキュリティ対策により、次へのアクセスが制限される場合があります。同一生成元ポリシーによる window.top。この問題に対処するために、try-catch ブロックを使用できます。

function inIframe () {
    try {
        return window.self !== window.top;
    } catch (e) {
        return true;
    }
}

この更新バージョンでは、window.top へのアクセスのブロックによって引き起こされる例外は、iframe の読み込みを想定して処理されます。

結論

ウィンドウ オブジェクト間の違いを理解することで、Web ページがウィンドウ オブジェクト内に読み込まれているかどうかを確実に検出する方法を確立しました。 iframe。この知識により、開発者は、読み込み環境に基づいて動作を適応させるアプリケーションを作成し、さまざまなプラットフォーム間でシームレスな機能を確保できるようになります。

以上がWeb ページが IFrame 内に読み込まれているかどうかを検出するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。