0

私は本当に理解できない何かをしようとしています。権限のない別のドメインからコンテンツを読み込んでいるiFrameがあります。私が「単に」やろうとしているのは、iFrameのコンテンツをフェッチしてPHP/Javascriptで使用することです。ここで私は「クロスドメイン」の問題に直面しました。iFrameのコンテンツにアクセスできません。とてもイライラします。

そこで、HTML5が提供する「postMessage()」関数について読んで、さらに読んでみました。このシステムで解決策を見ましたが、それでも1つのポイントを理解することはできません。基本的に、送信者とリスナーで動作します。そのため、iframeにリスナーが必要です。リスナーは、トリガーされると、コンテンツをメインウィンドウに送り返します。

しかし、コンテンツを削除せずに、すでにロードされているiFrameにコードを追加するにはどうすればよいですか?

私は実際にpostMessage()を使用する必要はありません、私がこのいまいましいコンテンツを取得できる限り、私は何でもかまいません!

どんな提案でも大歓迎です!

ありがとうございました !

4

2 に答える 2

0

このヘルプのようなものはありません:

関数getContentFromIframe(iFrameName)
{{

    var myIFrame = document.getElementById(iFrameName);
    var content = myIFrame.contentWindow.document.body.innerHTML;

    //コンテンツで必要なことは何でもします    

}


于 2011-12-07T19:04:21.483 に答える
0

これはまだ不可能であり、正当な理由があります!

クライアントのCookieを使用して別のドメインから読み取るには、IPとクレデンシャルを表示して、情報を公開する必要があります。これは、リスナー(外部ページ)と送信者(IFrame)が連携する双方向の会話です。

これが必要な理由:ページの100%を占めるIFrameを作成することを想像してみてください。一般的なWebサイトのログインフォームをIFrameに表示し、キーストローク/入力ボックスの変更を傍受してログに記録することができます。ユーザーは、URLを確認した場合にのみ違いを知ることができます。

ユーザーのブラウザを制御できる場合は、GreaseMonkeyのクロスドメインAJAXを使用してIFrameのコンテンツを取得できます(Firefox / Chromeを想定)

于 2011-12-08T01:00:45.453 に答える