动态IFRAME内容 - 如何获取对该IFRAME的访问权限?

时间:2012-12-04 09:54:45

标签: javascript

我正在动态地将内容加载到<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/height的{​​{1}}。那么,如何使用JS获取对iframe的访问权限?该代码高于iframealerts

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分:1)

iFrames和他们的父母之间的JS互动是我所知道的不可能或至少是麻烦的。我知道有一个属性window.frames甚至可能frame.parent,但一般来说,这样的JS交互是不可能的。我认为您应该考虑另一种类型的解决方案(如果可以满足您的需求,可以使用ajaxcall)。