私はこれを読んでいます.ajaxを使用すると、同じドメインにあるコンテンツのみを持ち込むことができますが、iframeを使用すると、任意のドメインからコンテンツを持ち込むことができます. そうですか?他にどのような違いがありますか?
3 に答える
これらは 2 つの完全に別個のテクノロジであることに注意してください。
(i)frame は、完全な HTML ページを領域内に実際にブラウザーにロードします。ページが同じドメインにあるか別のドメインにあるかは、純粋に表示するためのものであり、問題ではありません。
Ajax は、JavaScript 呼び出しを生成した文書化元のサーバーと (およびブラウザー全体の現在のセキュリティ制限を使用してのみ) 対話する JavaScript を容易にするシステムについてのみ説明します。
(i)frame テクノロジーは、任意の URL から完全な HTML ページをロードしてレンダリングします。JavaScript を使用して他のドメインから他のドキュメントにアクセスする場合、特定のセキュリティ制限が引き続き適用されます。
Ajax では、純粋に JavaScript を使用して元のサーバーと通信し (データを送信し)、通常はデータを取得することのみを目的としています。JavaScript で。このデータが何であり、それをどうするかは、あなた次第です。DOM (Document Object Model) に挿入するか、パーツを交換するか、新しいページをロードするかはあなた次第です。
ある程度まで、あなたは望むすべての自由を手にしています。ページに (i) フレームを配置したまま、Ajax 呼び出しを行い、別の URL を (i) フレームにロードすることを決定できます。または、Ajax の戻り値を使用して、(i)frame 内で新しい HTML を動的に生成します。または外部、別のドキュメントで。
この場合に適用されるセキュリティ制限は、「同一オリジン ポリシー」と呼ばれます。
簡単に言えば、iframe は通常のフレームに似ていますが、ブラウザー ウィンドウをセクションに分割せず、ページ内に収まり、スクロールバーの影響を受けます。
一方、Ajax は JavaScript を使用してページの部分的な読み込みを行うため、完全なポストバックを実行する必要なく、少量のデータをサーバーから読み込むことができます。たとえば、Youtube は、コメントの投稿、投票、再生するビデオのキュー登録などに Ajax を使用します。これは、完全なページ ポストバックによってビデオが中断されたり再開されたりしないようにするためです。