2014-06-19 72 views
0

在页面内容我有一些外部的iframe,问题是我不想滚动有该iframe,但我不知道iframe会多久?获取iframe的高度

<iframe id="newsletter" 
     src="http://www.vimontline.com/" 
     frameborder="0" 
     width="100%" 
     marginheight="0" 
     marginwidth="0" 
     scrolling="no"> 
</iframe> 

与宽度没问题,我的问题是有高度,我想从我的iframe中删除双击自动滚屏,但我不使用jQuery使它像高度=“100px的”代码,任何想法如何得到内部高度的iframe,我已经添加到我的身份证的高度?

+0

你不能使用jQuery来访问在'src'中有一个外部URL的'iframe'的内容。换句话说 - 这是不可能的。 –

回答

0

您无法从父页面访问此信息。如果您控制加载到iframe中的URL,那么一旦加载DOM,您就可以告诉它的父级调整大小。

代码iframe中:

parent.resizeFrame(document.body.scrollHeight) 

代码父页面:

function resizeFrame(height) { 
    document.getElementById('blogIframe').style.height = parseInt(height, 10) + "px"; 
} 

您可能需要一些额外的增加了高度,以防止跨浏览器的滚动条不一致。

+0

我无法控制外部页面? – Schneider

+0

然后你无法实现你的目标。不好意思,朋友。 – FreeAsInBeer

0

通过使用这些脚本可以实现(跨域)iframe动态调整大小 iframeResizer

您必须在父页面(iframeResizer.min.js)和iframe内部的另一个脚本(iframeResizer.contentWindow.min.js)上运行脚本。

它采用postmessage api和它的工作对我来说

我希望帮助

+0

不幸的是,为了这个工作,你必须控制iframe的代码 –

0

您可以使用下面的js代码获取IFRAME

setTimeout(function() { 
       $('iframe#newsletter').css('height', $(window).height() + 'px'); 
      }, 1000); 

的高度时,这个解决方案会为你不工作t需要定义高度,它会自动定义高度