0

コンテンツを動的にロードしています<iframe>

<iframe style='border:none;' id='abc' src="http://localhost:39217/Home/GetContent/some_dynamic_code"></iframe>

成功応答の後、その iframe にはそのコンテンツがあります

<html>
   <head>
      <script type="text/javascript">
          function onPageLoad() {
              if (document.readyState === "complete") {
                  var cont = document.getElementById("abc");
                  alert(cont);    
              }
          }
      </script>
   </head>

   <body onload='onPageLoad()'>
      <a target="_blank" href='http://lorem'>
        <img class='abc' style='max-width:300px; max-height: 38px;' alt='' src='/Images/image.png' />
      </a>
   </body>
</html>

それiframeは私のサイトの外で(ユーザーによって)使用されますが、<img> src. ただし、イメージを変更しwidth/heightiframe後は、 も変更する必要があります。iframeでは、 JSを使用してアクセスするにはどうすればよいでしょうか。alerts私の上のそのコードnull

4

2 に答える 2

2

ここで例を作成しました:http://jsfiddle.net/KRaWU/2/

私はそれを達成するために jQuery を使用しています。同じことをお勧めします。

// this will find a button within an iframe
var obj = $('iframe').contents().find('.actionButton').find('input[type="submit"]');
// this will change the value of the button, and you can see that the text is changed.
obj.attr('value', 'LOG ME IN');

類推して img を見つけ、その src を変更できます。

于 2012-12-04T10:16:27.480 に答える
1

iFrame とその親の間の JS の相互作用は、私が不可能または少なくとも厄介だと知っているものです。どこかにプロパティがあることは知っていますwindow.framesframe.parent、一般的には、そのような JS の相互作用は不可能です。別のタイプのソリューションを検討する必要があると思います(ニーズを満たすことができる場合は、おそらく ajaxcall など)。

于 2012-12-04T10:03:27.703 に答える