1

ページをiframeにロードしようとしています。そのページが読み込まれると、読み込まれたドキュメント内にある「pre」タグの内容を編集したいと思います。読み込まれたドキュメントは別のドメインのものです。私は使用しています:resultframeはiframeです

var atag= document.getElementById("resultframe").contentWindow.document.getElementsByTagName('pre');
 atag[0].innerHTML="done";

タグにアクセスします。

問題: このステートメントの影響はないようです。正しい構文を知る必要があります。また、別のドメインからロードされたページの要素にアクセスできます。Web から構文を取得し、そのバリエーションもいくつか取得しました。提案してください。

4

2 に答える 2

3

JavaScript は、別のドメインとの相互作用を防止するクロスドメイン ポリシーによって制限されていますが、特定の制限に耐えられる限り、回避策が 1 つあります。

PHP のようなもの とその cURL ライブラリを使用することで、ほぼどこからでもページのコンテンツを取得できます (資格情報があれば、安全なページやログインが必要なページでも)。次に、ページを解析し、必要なものを編集して、自分のサイト内に表示できます。ただし、これは単にページのローカル コピーであることを認識することが重要です。ページ自体の内容を実際に変更する余裕はありません。

編集するすべてのドメインへのアクセスを必要とする別の可能性は、PUT 要求の形式で編集を受け入れるWeb サービスを使用することです。Web サービスを使用するとさらに多くのことを実現できますが、変更を加えたいすべてのターゲット ドメインで利用できる必要があります。

近い将来、XMLHttpRequest レベル 2が実現し、Cross-Origin Resource Sharing (CORS)が導入される可能性があります。CORS を使用すると、あるドメインの Web アプリケーションが別のドメインに対してクロスドメイン AJAX 要求を行うことができます。ターゲット ドメインには、別のドメインからのリクエストを許可する明示的な許可を与えるヘッダーがあります。潜在的に、これは編集内容を別のサイトに送信するために使用される可能性があります。

于 2012-12-21T08:41:52.103 に答える
0

できません。セキュリティ上の理由から、ブラウザにはクロスドメイン ポリシーがあります。

Facebook ページを iframe に含めて、あなたが常にそこに接続しているので、すべての情報を取得できるとしたらどうでしょうか?

于 2012-12-21T08:22:56.267 に答える