ホームページ > ウェブフロントエンド > jsチュートリアル > iFrame のソース属性の変更を検出するにはどうすればよいですか?

iFrame のソース属性の変更を検出するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-04 10:48:30
オリジナル
1045 人が閲覧しました

How Can I Detect Changes in an iFrame's Source Attribute?

iFrame ソースの変更の検出

Web 開発者として、埋め込みオブジェクトのソース属性の変更を監視する必要がある状況に遭遇することがあります。 iフレーム。分析のためであっても、応答性の確保のためであっても、これらの変更を検出することは不可欠です。

幸いなことに、この課題に取り組む方法はいくつかあります。

OnLoad Event

効果的なアプローチの 1 つは、iFrame 内で onLoad イベント リスナーを利用することです。このイベントは、iFrame 内のコンテンツの読み込みが完了するたびに発生します。このイベントにハンドラーをアタッチすると、コードを実行して src 属性の変更を監視できます。

例:

<iframe src="http://example.com" onLoad="checkSrc()"></iframe>
ログイン後にコピー

ContentWindow Access (Same Domain)

iFrame コンテンツが親ページと同じドメインに属している場合は、contentWindow プロパティを利用して iFrame のウィンドウ オブジェクトにアクセスできます。これにより、iFrame の位置オブジェクトと直接対話し、ソースの変更を追跡できるようになります。

例:

<iframe src="/test.html" onLoad="alert(this.contentWindow.location)"></iframe>
ログイン後にコピー

ポーリング

最後に代わりに、ポーリング メカニズムを実装して、iFrame の src 属性を定期的にチェックすることができます。パフォーマンスの観点からは理想的ではありませんが、このアプローチは、特に他のオプションが使用できない場合に、ソースの変更を検出するのに効果的です。

例:

function checkSrc() {
  // Get the current iFrame source.
  var src = iframe.src;

  // Check if the source has changed.
  if (src !== previousSrc) {
    // Update previous source and do something.
    previousSrc = src;
    // ...
  }

  // Schedule the next check.
  setTimeout(checkSrc, 1000);
}
ログイン後にコピー

以上がiFrame のソース属性の変更を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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