1

iframe のソース コード コンテンツを読み取る必要があります。これはクロス ドメインです。

  <script type="text/javascript">
     $(document.getElementById("iFrame")).ready(function(){
     var iframe = document.getElementById('iFrame');
     var innerDoc = iframe.contentDocument;
    });

別のドメインで iframe のソース コードを読む機会はありますか?

4

2 に答える 2

1

コメント投稿者が指摘しているように、これはクロスドメインリクエストであるため、AJAXリクエストとしては機能しません。AJAXリクエストを送信できるエンドポイントを独自のドメインで作成してみてください。このリクエストに、URLサーバー側からコンテンツを取得します。

于 2012-12-18T15:45:37.530 に答える
1

HTML5 postMessage と URL ハッシュ ポーリング (HTML5 をサポートしていないブラウザー用) があります。

https://developer.mozilla.org/en-US/docs/DOM/window.postMessage

http://softwareas.com/cross-domain-communication-with-iframes


両方のドメインを制御できない場合は、サーバー側のソリューションに行き詰まっています。URL をパラメータとしてドメイン内サーバーに ajax リクエストを送信し、HTML を返すようにします。


EDIT反対票のため、URL ハッシュ ポーリングについて少し詳しく説明します。クロスドメイン制限のために URL への読み取りアクセス権がありませんが、URL ハッシュ (URL の末尾にある # 文字の後のテキスト) を設定するアクセス権があります。したがって、ハッシュを設定すると、ページのリロードが発生せず、スクリプトはそのハッシュへの変更を「ポーリング」できます。

于 2012-12-18T15:52:08.830 に答える