1

iframe に要素が存在するかどうかを確認することはできますか? Same Origin Policy により、外部ホストで何かを操作することは不可能であることはわかっています。しかし、要素が存在するかどうかだけを知りたい場合はどうすればよいでしょうか?

<body id="parent">
  <iframe src="foreign host">
    <span id="exist">
      Yes, Yes. I'am here.
    </span>
  </iframe>
</body>

私はjqueryでこれを理解しようとしました:

$('iframe:first').contents().find('#exist').length throws out a 

プロパティ 'ownerDocument' エラーにアクセスする権限が拒否されました

私は外国の文書の何かを変えたくありません。だから危険はありません。なぜこれが否定されるのですか?

これを行う別の方法はありますか?

4

2 に答える 2

2

申し訳ありませんが、別のドメインで個人情報を読み取ったり、完全なドキュメント iframe を埋め込むだけでフィッシングを実行したりできるため、Same Origin ポリシーでは許可されていません。

代替ソリューションがあります。

  • セキュリティなしでブラウザを実行します: pe: 'chromium-browser --disable-web-security'
  • プロキシを作成し、クライアントのように http 接続を行います。ページと同じドメインにプロキシを作成します。

同じドメインにある場合は、他のコメントが役立ちます。

于 2012-04-12T17:21:49.983 に答える
0

次のように iframe タグに ID を割り当てる必要があります。

<iframe src="blah.html" id="blah"></iframe>

次に、次のようにして、jQuery でその iframe を参照できます。

var iframe = $("#blah");

これが完了したら、作成した iframe var で contents() 関数を使用して、その DOM にアクセスできます。

于 2012-04-12T17:17:26.890 に答える