0

iFrame に投稿するフォームがあります。iFrame 内の Web サイトは、私が制御できないものです。ただし、iframe内のいくつかの画像の表示を「なし」に設定したいと思います。

<form id="testForm" method="post" target="testFrame">
  <input type="hidden" name="RequestXML" ID="RequestXML" value="<Request><RedirectURL>Account/TokenRequest</RedirectURL></Request>"
</form>

<iframe id="testFrame" name="testFrame" frameborder="0" style="width:1000px;height:500px">    </iframe>

ページの上部にある私のスクリプトは次のとおりです。

<script type="text/javascript">
  $(function () {
  $("#testForm").attr("action", "http://externalwebsite.aspx");
  $('#testForm').submit();

  var iframe = document.getElementById('testFrame');
  var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
  //alert($("#testFrame").contents().find("body").html());
  //alert(innerDoc.innerHTML);
  });
</script>

私のアラートは両方とも、Chrome、IE、Firefox で null を返します。その iframe 内の要素にアクセスする最良の方法は何ですか。(クロムでは、「要素の検査」を実行してhtmlを表示しようとすると、そのWebサイトのhtmlも表示されません)

ちなみに、私はMVC4プロジェクトでこれをすべて行っています

4

2 に答える 2

0

このクロスドメイン以降、2 つのオプションがあります。

iframe コードにアクセスできる場合は、そこに XDM コードを配置できます。おそらくeasyXDMが役立つでしょう。

または

サーバー側に移動し、php/asp.net などのバックエンドを取得して、ページを取得し、必要なデータを取得する必要があります。

于 2012-04-26T15:59:50.557 に答える
0

これがクロスドメインの問題ではないと仮定して、次を試してください。

var body = $('#testFrame').contents().find('body');
于 2012-04-26T15:51:46.033 に答える