当Iframe内容位于不同的域时,如何根据其内容更改iframe高度?

时间:2014-05-22 14:26:49

标签: javascript html iframe

我有一个iframe,内容来自不同的域:

<div class="iframe">
   <script language="javascript" type="text/javascript">
      var queryString = unescape(document.location.search.split('?id=').join(''));
      document.write("<iframe id=\"frame\" onload=\"resize()\" src=\"http://differentdomain.com/" + queryString + "\" scrolling=\"no\" width=\"850\" height=\"450\" frameborder=0></iframe>");
   </script>
</div>

Iframe的内容可以有不同的高度。

我有一个方法resize()在iframe加载时执行如下:

function resize() {
    var iFrameID = document.getElementById("frame");
    if (iFrameID) {
        iFrameID.height = "";
        iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + "px";
    }
}

在运行页面时,我遇到访问被拒绝错误,我假设是因为跨域问题。

如何解决这个问题,我的框架高度会根据其内容动态更改?

感谢&#39; S

1 个答案:

答案 0 :(得分:1)

你不能。 除非您还控制其他域,否则您可以禁用保护。