コードは次のとおりです:
id="remoteHtml" src="" style="diapay:none" style="diapay:none"/>
注: この方法を機能させるには、ページ http://promotion.taabao.com/xxxx.htm でも document.domain="taabao.com" を設定する必要があります。
この iframe メソッドが異なる親ドメイン間のクロスドメインに適していない理由は、document.domain の設定が自分の親ドメインにのみ設定でき、jiapiao.taabao などの他のドメインには設定できないためです。 document.domain="baidu.com" ではなく、 document.domain="taabao.com" のみを設定します。
ここにリストされている 3 つのソリューションには、それぞれ独自の長所と短所があります。
プロキシ ソリューションの利点は次のとおりです。ほぼすべてのクロスドメイン アクセスに適用でき、1 つのドメインで開発するだけで済み、もう 1 つのドメインはあらゆる種類の形式でデータを提供できます。欠点は、このソリューションは中間の Proxy を経由するため、遅延が若干大きくなり、ローカル サーバーの負荷が増加し、開発作業負荷も若干大きくなる可能性があることです。
スクリプト タグのソリューションは、数行のコードなしで実行できます。ただし、返されるデータの形式は Json 形式でなければなりません。他の形式のデータである場合、この方法では何もできません。
iframe を非表示にする方法も非常に簡単で、返されたデータ形式を処理できますが、同じ親ドメイン内のクロスドメイン要求にのみ適用でき、他のドメインが開発 (ドキュメント) で協力する必要があります。 .domain を設定する必要があります。
元の投稿の詳細: http://blog.csdn.net/lovingprince/archive/2008/09/20/2954675.aspx
-------------- -------------------------------------------------- ------------------
----------------------------- --- ---------------------------------------------------
JS のクロスドメイン アクセスの意味について、さらにいくつかの点を追加したいと思います。
クロスドメイン アクセスとは、簡単に言うと、Web サイト A の JavaScript コードが Web サイト B にアクセスしようとすることを意味します。コンテンツとコンテンツの取得。たとえば、Web サイト A からページにアクセスする場合、Web サイト B の別のページで JS オブジェクトを実行するか、Web サイト A のページで JS を使用してページの dom 要素を解析する必要があります。ウェブサイト B など。この種のクロスドメイン アクセスの問題が発生するアプリケーション シナリオは、通常、iframe でのページの埋め込み、または Ajax リクエストの異なるドメインへの送信などです。
セキュリティ上の理由により、 - ドメインへのアクセスは、主要なブラウザではデフォルトで禁止されていますが、ブラウザはページ内の他のドメインからの JS の参照を禁止しておらず、インポートされた JS ファイル内の関数を自由に実行できます。
クロスドメインかどうかの判断ルールは、ドメイン名、プロトコル、ポートの 3 つを比較することです。3 つのうちの 1 つが異なる場合、よく言われるクロスドメインの問題が発生します。このシナリオは発生する可能性が最も高く、前述した taobao.com ドメインの第 2 レベル ドメイン名の問題など、いくつかの解決方法があるためです。 🎜> メイン ドメインが異なる、またはプロトコルが異なる (https と http など) クロスドメインの問題 (たとえば、*.taabao.com ドメインが *.baidu.com ドメインのコンテンツにアクセスしたいなど)、それは完全に問題ですWeb 側から解決することは不可能であり、サーバー側のプロキシ ソリューションを通じてのみ解決できます。
異なるドメイン間で共通のページ コントロール dom 要素には次のものがあります。
window.location は設定できますが、読み取ることはできません。他の場所のプロパティとメソッドへのアクセスは禁止されています。
document.href は設定できますが、読み取ることはできません。他のドキュメントのプロパティとメソッドへのアクセスは禁止されています。