IframeとFRAMEの違いの分析

IframeとFRAMEの違いの分析
1. Iframe タグの使用<br />Iframe については、「忘れられた隅」に放り込んでいるかもしれませんが、その兄弟である Frame についてはよくご存知でしょう。 Frame タグはフレーム タグです。マルチフレーム構造とは、1 つのブラウザ ウィンドウに複数の HTML ファイルを表示することです。ここで、非常に現実的な状況に遭遇します。たとえば、チュートリアルがあり、各ページの最後に「前のセクション」と「次のセクション」のリンクがあり、セクションごとに提示されています。各チュートリアルのコンテンツが異なることを除けば、ページの残りのコンテンツは同じです。1つずつ愚かなページを作成すると、あまりにも退屈に思えます。このとき、突然アイデアが浮かびました。ページの残りの部分は変更せず、チュートリアルのみを他のコンテンツのないコンテンツページのページにする方法があれば、上下のページリンクをクリックすると、チュートリアルコンテンツ部分のみが変更され、残りは変更されません。このようにすると、一方では時間が節約され、他方では、将来チュートリアルに変更があった場合でも、チーム全体に影響を与えることなく非常に便利です。さらに重要なのは、ほとんどすべてのページにある広告バナー、列リスト、ナビゲーションなどのものは、一度だけダウンロードされ、その後は再度ダウンロードされないことです。
フローティング フレーム タグとも呼ばれる Iframe タグを使用すると、HTML ドキュメントを HTML ドキュメント内に埋め込んで表示できます。 Frame タグとの最大の違いは、このタグが参照する HTML ファイルが他の HTML ファイルから独立して表示されるのではなく、HTML ファイルに直接埋め込まれ、この HTML ファイルの内容と統合されて全体となることです。また、同じ内容をページ内に複数回表示することができ、内容を繰り返す必要がありません。わかりやすい比喩としては、「ピクチャー イン ピクチャー」テレビが挙げられます。
それでは、iframe タグの使用について説明します。
Iframe タグの形式は次のとおりです。
<iframe src="URL" width="x" height="x" scrolling="[OPTION]" frameborder="x"></iframe>
src: ファイルのパス。HTML ファイル、テキスト、ASP などになります。
幅、高さ: 「ピクチャーインピクチャー」領域の幅と高さ。
スクロール: SRC で指定された HTML ファイルが指定領域内に完全に表示できない場合、スクロール オプションを NO に設定するとスクロール バーは表示されません。Auto に設定すると、スクロール バーが自動的に表示されます。Yes に設定すると、表示されます。
FrameBorder: 領域の境界の幅。「ピクチャーインピクチャー」を隣接するコンテンツと融合させるため、0 に設定されることが多いです。
例えば:
<iframe src="http://netschool.cpcw.com/homepage" 幅="250" 高さ="200" スクロール="なし" フレームボーダー="0"></iframe>
2. 親フォームとフローティング フレームの相互制御<br />スクリプト言語とオブジェクト階層では、Iframe を含むウィンドウを親フォームと呼び、フローティング フレームを子フォームと呼びます。親フォームで子フォームにアクセスするには、またはその逆を行うために、プログラムを通じてフォームにアクセスして制御するために、オブジェクト階層を理解する必要があるため、両者の関係を理解することが重要です。
1. 親フォームで子フォームのオブジェクトにアクセスして制御します。親フォームでは、Iframe、つまり子フォームはドキュメント オブジェクトの子オブジェクトです。子フォームのオブジェクトには、スクリプトから直接アクセスできます。
ここで疑問が残ります。この Iframe をどのように制御するかということです。ここでは Iframe オブジェクトについて説明する必要があります。このタグの ID 属性を設定すると、ドキュメント オブジェクト モデル DOM を通じて、Iframe に含まれる HTML に対して一連の制御を実行できます。
たとえば、test.htm ファイルを example.htm に埋め込み、test.htm 内のいくつかのタグ オブジェクトを制御します。
<iframe src="test.htm" id="test" width="250" height="200" scrolling="no" frameborder="0"></iframe>
test.htm ファイルのコードは次のとおりです。
<html>
<本文>
<h1 id="myH1">こんにちは、息子よ</h1>
</本文>
</html>
ID 番号が myH1 である H1 タグ内のテキストを hello, my dear に変更したい場合は、次のようにします。
document.myH1.innerText="hello,my dear" (document は省略可能)
example.htm ファイルでは、Iframe タグ オブジェクトが指すサブウィンドウは一般的な DHTML オブジェクト モデルと一致しており、オブジェクト アクセス制御方法も同じであるため、重複しません。
2. 子ウィンドウで親ウィンドウのオブジェクトにアクセスして制御します。子ウィンドウでは、親オブジェクトを介して親ウィンドウのオブジェクトにアクセスできます。
たとえば、example.htm:
<html>
<body onclick="アラート(tt.myH1.innerHTML)">
<iframe name="tt" src="frame1.htm" width="250" height="200" scrolling="no" frameborder="0"></iframe>
<h1 id="myH2">こんにちは、妻</h1>
</本文>
</html>
frame1.htm の ID 番号 myH2 のタイトル テキストにアクセスし、それを「hello, my friend」に変更する場合は、次のように記述します。
parent.myH2.innerText="こんにちは、私の友達"
ここで、親オブジェクトは現在のウィンドウ (example.htm が配置されているウィンドウ) を表します。子ウィンドウから親ウィンドウのオブジェクトにアクセスするには、例外なく親オブジェクトを使用する必要があります。
Iframe は別の HTML ファイルに埋め込まれていますが、比較的独立しており、「独立した王国」です。単一の HTML ファイルの機能は、フローティング フレームにも適用されます。
Iframe タグを使用すると、変更されないコンテンツを Iframe で表現できるため、同じコンテンツを書き換える必要がないことを想像してみてください。これはプログラミングのプロセスや関数に少し似ており、面倒な手作業を大幅に節約できます。また、重要なのは、レイアウトを調整するために各ページを変更するのではなく、親フォームのレイアウトを変更するだけで済むため、ページの変更がより実行可能になることです。
注目すべき点の 1 つは、Nestscape ブラウザが Iframe タグをサポートしていないことですが、IE が主流となっている今日の世界では、これは大した問題ではないようです。Iframe タグを広く使用することは、あなた自身 (Web サイト) に利益をもたらすだけでなく、ネットユーザーのインターネット料金を節約することにもなります。なぜそうしないのでしょうか。
フローティング FRAME は HTML4.0 仕様の定義であり、現在のすべてのブラウザでサポートされています。
FRAMESET で表されるパーティションとは異なり、フローティング FRAME は組み込みオブジェクトとして Web ページ上に存在し、そのスタイルはページ上のグラフィックやアプレットのようなものです。フローティング FRAME は <IFRAME> タグを使用します。このタグには、name、src、marginwidth、marginheight、FRAMEborder、scrolling など、<FRAME> と同じ属性設定がほとんどあります。同時に、グラフィックスやアプレットと同じ高さ、幅、配置属性も持っています。
さらに、フローティング FRAME は通常の FRAME と同じターゲット原則に従います。つまり、名前で指定できます。この原則は、あらゆるタイプのフレーム内のフローティング フレームに適用され、その逆も同様です。フローティング FRAME 内のターゲットのないリンクはそれ自体を指しますが、_parent リンクは <IFRAME> を含むドキュメントが配置されている FRAME またはウィンドウを指します。例えば:
<IFRAME name="フローター" src="start.htm" width=150 height=200 hspace=10 align=left>
<IMG src="Images/noFRAME.gif" alt="フローティング フレームは表示されません"
幅=150 高さ=200 hspace=10 位置揃え=右
</IFRAME><BR>
<A href="one.htm" target="floater">one.htm を表示</A><P>
<A href="two.htm" target="floater">two.htm を表示</A><P>
<A href="start.htm" target="floater">start.htm を戻す</A>
<IFRAME> タグをサポートするブラウザでは、<IFRAME> と </IFRAME> の間のコンテンツはすべて無視されることに注意してください。それ以外の場合は、現在のブラウザが<IFRAME>をサポートしていないことを説明するコンテンツが表示されます。

<<:  Tomcat が localhost に通常アクセスすると 404 を報告する問題の解決方法

>>:  5つのCSSスクロール天井実装方法の比較(パフォーマンス向上版)

推薦する

Vue 学習 - VueRouter ルーティングの基礎

目次1. Vueルーター1. 説明2. 選択したルートのレンダリング: 3. 基本的な動作原理2. ...

Vue はチャット ボックスで絵文字を送信する機能を実装します

vueチャットボックスで絵文字を送信し、vueインターフェースで絵文字を送信するための具体的なコード...

Vue3スタイルのCSS変数注入の実装

目次まとめ基本的な例モチベーションデザインの詳細コンパイルの詳細採用戦略練習するヒント適切なプロパテ...

Nginx プロキシを使用してインターネットを閲覧する方法

私は通常、Tomcatや他のアプリケーションのリバースプロキシとしてnginxを使用しています。実際...

Mac での MySQL と Squel Pro の設定

Node.js の人気に応えて、最近、いくつかのサーバー側機能を実装するために Node.js を使...

Vue+element ui はアンカーの配置を実現します

この記事では、アンカー配置を実現するためのVue +要素UIの具体的なコードを例として紹介します。具...

DockerでKafkaをデプロイする方法

目次1. Dockerをビルドする2. コンテナに入る3. 設定ファイルを変更する4. Kafkaを...

HTML フォーム コントロールの無効な属性の読み取り専用と無効の概要

HTML でフォームの送信を無効にする方法は 2 つあります。 1. コントロールタグにreadon...

Linux で Ceph 分散ソフトウェアをインストールして使用する方法に関するチュートリアル

目次序文1. 基本環境1. サービス配信2. ネットワーク構成(全ノード) 3. SSHパスワードフ...

HTMLページでチェックボックスを操作する方法

チェックボックスは Web ページで非常によく使用されます。e コマースの Web サイトでもプラッ...

React構成サブルーティングの実装

1. コンポーネント First.js にはサブコンポーネントがあります。 './Admin...

一般的なDockerコマンドの詳細な説明

1. ヘルプコマンド1. 現在のDockerバージョンを表示する docker バージョン2. イメ...

MySQL データベースの文字化け問題の原因と解決策

序文データベースのデータを表示すると、文字化けした文字が表示されることがあります。実際、どのようなデ...

HTML テーブルの空白セル補完を実装する方法

私が初めて Web 開発を独学で学んだ頃は、いわゆる DIV/CSS レイアウトはなく、テーブル レ...

フレームセットの共通プロパティ(フレームとウィンドウの分割)

フレームとは、Web ページ画面を複数のフレームに分割したもの(複数の Web ページという形で表示...