vuejs获取iframe内部元素的高度
时间: 2023-07-27 09:03:55 浏览: 249
获取iframe子网页的Height
在vuejs中,可以通过多种方式获取iframe内部元素的高度。
一种常用的方法是使用`$refs`来引用iframe元素,并通过`contentWindow`属性来获取其内部文档。代码如下:
```vue
<template>
<div>
<iframe ref="myIframe" src="http://example.com"></iframe>
</div>
</template>
<script>
export default {
mounted() {
const iframe = this.$refs.myIframe;
iframe.onload = () => {
const iframeDocument = iframe.contentWindow.document;
const iframeHeight = iframeDocument.body.scrollHeight;
console.log(iframeHeight);
};
}
};
</script>
```
上述代码中,通过`$refs`将iframe元素引用为myIframe。在mounted钩子函数中,绑定了iframe的`onload`事件,在iframe加载完成后获取其内部文档,然后通过`body.scrollHeight`来获取内部元素的高度,并将其打印到控制台。
除了使用`$refs`,还可以通过`querySelector`等原生方法来获取iframe元素并进一步处理。例如:
```vue
<template>
<div>
<iframe id="myIframe" src="http://example.com"></iframe>
</div>
</template>
<script>
export default {
mounted() {
const iframe = document.querySelector("#myIframe");
iframe.onload = () => {
const iframeDocument = iframe.contentWindow.document;
const iframeHeight = iframeDocument.body.scrollHeight;
console.log(iframeHeight);
};
}
};
</script>
```
这种方法直接使用了原生`querySelector`方法来选择iframe元素,其他部分与前一种方式相同,同样可以获取并打印iframe内部元素的高度。
总之,无论是通过`$refs`还是直接通过原生方法获取iframe元素,都可以在vuejs中轻松实现获取iframe内部元素的高度。
阅读全文