0

別のドメインから iframe をレンダリングしています。iframe にはスクリプトのみが含まれます (例: )。

上記の iframe の内容、または少なくともその iframe 内の最後のスクリプト タグを抽出する方法はありますか?

試してみconsole.log($("iframe").contents().find('script'));ましたが、これは長さ 0 を返すため、抽出されたスクリプトはありませんでした。

アップデート:

<script type="text/javascript" src="/jwplayer/jwplayer.js"></script> 
<script type="text/javascript">jwplayer.key="KEYHERE";</script>
<div id='videoPlayer'></div>
<script type='text/javascript'>
  jwplayer('videoPlayer').setup({
   file: 'VIDEO LOCATION HERE',
   autostart: "true",
    width: "100%",
    height: "100%",
    image: "IMAGE LOCATION HERE"

  });
</script>

これは、iframe HTML がどのように見えるかです。ここでの実際の目標は、特定の条件でレンダリングされているファイルを置き換えることができるように、iframe の最後のスクリプトを抽出することです。

4

1 に答える 1

2

クロスドメインは完全に問題です。あなたが言うように、その iframe src へのアクセスは許可されていません。iframe からドメインにパブリック リクエストを送信しました。ブラウザによっては、複数のセキュリティ ハードルがあります。

document.domain = 'mydomain.com'; を設定した場合 親ページと、iframe から他のドメインで要求されたページでは、理解できるかもしれませんが、同じトップ レベル ドメイン (異なるサブ ドメインが機能する) が必要であり、これは Internet Explorer では期待どおりに機能しません。私の経験から。ブラウザが保護しようとしているセキュリティ上の問題は、クロスサイト スクリプティング攻撃であり、ブラウザごとに対処方法が異なります。

于 2013-09-10T05:24:33.110 に答える