1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <template>
- <div :style="'height:' + height" v-loading="loading" element-loading-text="正在加载页面,请稍候!">
- <iframe
- :id="iframeId"
- style="width: 100%; height: 100%"
- :src="src"
- frameborder="no"
- ></iframe>
- </div>
- </template>
- <script>
- export default {
- props: {
- src: {
- type: String,
- default: "/"
- },
- iframeId: {
- type: String
- }
- },
- data() {
- return {
- loading: false,
- height: document.documentElement.clientHeight - 94.5 + "px;"
- };
- },
- mounted() {
- var _this = this;
- const iframeId = ("#" + this.iframeId).replace(/\//g, "\\/");
- const iframe = document.querySelector(iframeId);
- // iframe页面loading控制
- if (iframe.attachEvent) {
- this.loading = true;
- iframe.attachEvent("onload", function () {
- _this.loading = false;
- });
- } else {
- this.loading = true;
- iframe.onload = function () {
- _this.loading = false;
- };
- }
- }
- };
- </script>
|