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.frames,甚至可能frame.parent但总的来说,像这样的 JS 交互是不可能的。我认为您应该考虑另一种类型的解决方案(如果可以满足您的需求,则可能是 ajaxcall)。

于 2012-12-04T10:03:27.703 回答