在页面内容中,我有一些外部iframe,问题是我不希望滚动有iframe,但我不知道iframe会有多长时间?
<iframe id="newsletter"
src="http://www.vimontline.com/"
frameborder="0"
width="100%"
marginheight="0"
marginwidth="0"
scrolling="no">
</iframe>
宽度没有问题,我的问题是高度,我想从我的iframe中删除scrool,但我不要让它像高度=&#34; 100px&#34;,任何想法与jquery如何得到iframe高度,我已经添加到我的id高度?
答案 0 :(得分:0)
您无法从父页面访问此信息。如果您控制加载到iframe中的URL,那么一旦加载DOM,您就可以告诉它的父级调整大小。
iframe中的代码:
parent.resizeFrame(document.body.scrollHeight)
父页面代码:
function resizeFrame(height) {
document.getElementById('blogIframe').style.height = parseInt(height, 10) + "px";
}
您可能需要在高度上添加一些额外内容,以防止浏览器中的滚动条不一致。
答案 1 :(得分:0)
使用这些脚本可以实现iframe动态调整大小(跨域) iframeResizer
您必须在父页面(iframeResizer.min.js)上运行脚本,在iframe内运行另一个脚本(iframeResizer.contentWindow.min.js)。
它使用postmessage api,它对我有用
我希望有帮助
答案 2 :(得分:0)
您可以使用以下js代码获取iframe的高度
setTimeout(function () {
$('iframe#newsletter').css('height', $(window).height() + 'px');
}, 1000);
此解决方案适用于您不需要定义高度,它将自动定义高度
答案 3 :(得分:0)
正如FreeAsInBeer所说,出于安全目的,这不是你真正可以做的事情,只是为了进一步澄清,请参阅:
Same-Origin-Policy&amp; Cross-Origin-Resource-Sharing
这是我见过的关闭事情:http://css-tricks.com/cross-domain-iframe-resizing/但我也不建议这样做。