VUE 페이지 에 외부 HTML 의 예제 코드 를 불 러 옵 니 다.

3204 단어 VUEHTML
앞 뒤 가 분리 되 어 백 엔 드 가 인 터 페 이 스 를 제공 합 니 다.그러나 일부 데 이 터 는 제품 설명 파일 을 비교 해 다른 서버 에 존재 한다.
따라서 페이지 에 표 시 될 때 페이지 에 설 치 된 형식 으로 이 설명 파일 을 표시 합 니 다.원 하 는 효 과 를 내기 위해 뭔 가 를 해 야 한다.
기 존의 IFRAME 태그 와 달리 그 방식 은 비교적 낮 고 다른 버그 도 있다.
본 고 는 HTML 요청 이후 v-html 형식 으로 페이지 내부 에 불 러 오 는 것 입 니 다.전역 구성 요소 등록[v-html-panel]
1.HtmlPanel.vue 파일

<template>
 <div>
  <mu-circular-progress :size="40" v-if="loading"/>
  <div v-html="html"></div>
 </div>
</template>
<style>

</style>
<script>
 export default{
  //        :url.sync=""  
  props: {
   url: {
    required: true
   }
  },
  data () {
   return {
    loading: false,
    html: ''
   }
  },
  watch: {
   url (value) {
    this.load(value)
   }
  },
  mounted () {
   this.load(this.url)
  },
  methods: {
   load (url) {
    if (url && url.length > 0) {
     //    
     this.loading = true
     let param = {
      accept: 'text/html, text/plain'
     }
     this.$http.get(url, param).then((response) => {
      this.loading = false
      //   HTML  
      this.html = response.data
     }).catch(() => {
      this.loading = false
      this.html = '    '
     })
    }
   }
  }
 }
</script>

htmlViewSample.vue

<template>
 <div>
  <v-html-panel :url.asyc="url1"></v-html-panel>
  <v-html-panel :url.asyc="url2"></v-html-panel>
 </div>
</template>
<style scoped>
 div{color:red}
</style>
<script>
 export default{
  data () {
   return {
    url1: '',
    url2: ''
   }
  },
  mounted () {
   this.url1 = 'http://file.xxx.com/group1/M00/0C/F5/xxxxxxxx.html'
   this.url2 = 'http://file.xxx.com/group1/M00/0D/3B/yyyyyyy.html'
  },
  methods: {
  }
 }
</script>

이전 효과 그림

주의사항:
  • axios 로 처 리 된 GET 요청 을 직접 사용 하려 면 크로스 필드
  • 를 처리 해 야 합 니 다.
  • 외부 css 스타일 은 표 시 된 html
  • 에 작용 합 니 다.
  • 외부 html 에 동시에 불 러 오 는 script 도 실 행 될 수 있 으 므 로 필요 에 따라 처리 해 야 합 니 다
  • 외부 HTML 파일 내부 의 상대 경 로 는 자동 으로 식별 되 지 않 고 절대 경로
  • NGINX 크로스 도 메 인 설정:
    (Origin*을 사용 하면 오류 가 발생 할 수 있 습 니 다.요청 소스 의 주 소 를 직접 사용 합 니 다.안전성 이 걱정 되면 if+정규 조건 으로 판단 할 수 있 습 니 다)
    
    location / {
      add_header Access-Control-Allow-Origin $http_origin;
      add_header Access-Control-Allow-Credentials true;
      add_header Access-Control-Allow-Methods GET;
    
      access_log /data/nginx/logs/fdfs_https.log main;
    
      ...
    }
    
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기