1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  | <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> 
 |  
  |