iframe调整跨域无控制权

时间:2014-01-14 15:30:48

标签: javascript jquery html css iframe

我已经阅读了几篇文章并尝试了一些方法,但没有结果。 我需要做的是动态调整父级iframe标记的高度。 我无法修改我放在iframe src上的页面,因为它是另一台服务器上Intranet上的一个应用程序。

我知道存在安全问题,但我需要在页面上使用此功能,因为应用程序应在Intranet网页上无缝显示。 我希望看到实现这一目标的选项,方法或解决方法。

我还试图根据scroball调整iframe的大小,但没有运气。

任何人都可以帮助我。

2 个答案:

答案 0 :(得分:1)

父母:

http://jsbin.com/ujAqemI/1/edit

function handleMessage(e) {
  if (e.data.action == 'resize') {
    var targetHeight = e.data.height;
    $('#iFrame').animate({
      height: targetHeight
    });
  }
}
window.addEventListener("message", handleMessage, false);

iframe:

http://jsbin.com/azUWIye/1/edit

parent.postMessage({
  'action':'resize', 
   'height': 400
}, '*');

答案 1 :(得分:1)

您可以使用jQuery轻松更改height属性。 代码:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
<script>
function ChangeIframeHeight()
{
$('#iframename').attr('height', "900")  //Changes the "height" attribute to 900
}
<body>
<iframe src = "http://google.com" height = "600" width = "900"></iframe> 
</body>
</html>