0

外部リソースからデータを取得しようとしたとき、興味深いことに遭遇しました。自分の Web サイトで使用すると正しく動作しますが、外部リソースでは動作しません。

   doc = parent.Frame2.document;  
   alert(doc);  

ソースはFrame2、このスクリプトが実行される Web サイトのメイン ページであり、「Object HTML Document」というメッセージが表示されます。

しかし、たとえばソースを別のものに変更すると

それは:
<frame name='Frame2' src="mysite.com'> 私はそれを次のように変更しました:

<frame name="Frame2" src="http://cnn.com"/>   

そして得"undefined"た。何故ですか?誰でも説明できますか?

私も試してみ ましたがcontentDocumentwindowDocument 同様の質問がたくさんありますが、まだうまくいきません。私は初心者であり、誰かがそれを説明してくれるか、この問題で成功するために使用できる他の方法を提案してくれることを願っています。

みんな、ありがとう!

4

1 に答える 1

0

同一オリジン ポリシーに遭遇しています。

これは、悪意のある Web サイトが他の Web サイトのプライベート データにアクセスするのを防ぐためのセキュリティ機能であり、XMLHttpRequestおよび に適用され<iframe>ます。

成功を達成する方法は、サーバーを使用してスクリプトを介してページをプロキシするか、CORSを設定することです。
CORS は主にXMLHttpRequestに適用され(ブラウザーは s でそれを無視すると思います<iframe>)、サーバーから送信されたデータを取得する HTTP ヘッダーを制御する必要があります。これは、サイトを許可する特定のヘッダーを送信する必要があるためです (またはすべてワイルドカードによるウェブサイト*)。

于 2013-04-04T12:09:46.990 に答える