如何控制iframe的高度随内容的多而自动增长

 方法1:在iframe中加入name属性。然后加上οnlοad="this.height=webb.document.body.scrollHeight+20"。例如:

<iframe src="huizAdd.jsp"  width="100%" height="100%"  scrolling="no" FrameBorder="0" id="webb" name="webb" οnlοad="this.height=webb.document.body.scrollHeight+20"></iframe>

 

方法2:在被iframe调用的文件</body>之后加入上面这段即可。

<script language="javascript">
if (window.parent.length>0){window.parent.document.all.webb.style.height=document.body.scrollHeight;}
</script>
其中webb是iframe的name。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Vue中使用iframe并使其高度内容变化,可以通过以下步骤实现: 1. 首先,在Vue组件中定义一个变量来保存iframe高度,例如`iframeHeight`。 2. 在父组件中加载iframe,并添加一个监听器来处理iframe的加载完成事件。在加载完成后,获取iframe内容高度。 3. 在父组件中使用`postMessage()`方法将iframe内容高度传递给子组件。 4. 在子组件中添加一个监听器来接收从父组件传递过来的iframe高度。 5. 在子组件中使用`watch`属性或者计算属性来监听iframe高度的变化,并将该高度应用到iframe的样式上。 下面是一个示例代码: ```vue <template> <div> <iframe ref="myIframe" src="your-iframe-src" @load="handleIframeLoad"></iframe> </div> </template> <script> export default { data() { return { iframeHeight: 0 }; }, methods: { handleIframeLoad() { const iframe = this.$refs.myIframe; const iframeDocument = iframe.contentDocument || iframe.contentWindow.document; const iframeContentHeight = iframeDocument.body.scrollHeight; window.addEventListener("message", event => { if (event.data && event.data.type === "iframeHeight") { this.iframeHeight = event.data.height; } }); iframe.contentWindow.postMessage({ type: "getIframeHeight" }, "*"); } }, watch: { iframeHeight(newHeight) { this.$refs.myIframe.style.height = `${newHeight}px`; } } }; </script> ``` 在子组件中,我们监听`iframeHeight`变量的变化,并将新的高度应用到iframe的样式上。 在父组件中,我们使用`postMessage()`方法向子组件传递iframe内容高度,并在子组件中接收该高度,并更新`iframeHeight`变量。 请注意,在加载完成后,我们使用`postMessage()`方法将消息发送到iframe中,以请求获取iframe内容高度。为了避免安全问题,我们使用`"*"`来指定接收消息的窗口。你可以根据实际情况调整这些代码来适应你的项目需求。 希望对你有所帮助!如果还有其他问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值