vue中用iframe嵌套頁面,點擊返回實現真正的退回上一步功能

vue項目中需要嵌套第三方的頁面,但是第三方頁面中的網頁沒有返回按鈕,如圖所示:此爲頁面b,頁面a爲跳到b頁面的前一個頁面。
嵌套iframe的頁面
點擊iframe嵌套頁面跳轉的第二個頁面
在這裏插入圖片描述
要實現不管進入多少層iframe頁面,點擊回退都直接跳到頁面a.
實現:
爲了不影響路由判斷,使用回退的方法。
首先在進入頁面b時,記錄一下history.length,並把這個值賦給頁面的一個變量:

  data () {
    return {
      para:{},
      htmlStr:'',
      htmlSrc:'',
      rlen:history.length,
    }
  },
  mounted () {
  },
  methods: {
    //返回
    goBack () {
        let len = this.rlen - history.length - 1;//-1是不進入iframe頁面的下級頁面直接退出的話,執行後退一步的操作
        this.$router.go(len);
    },
  }

在點擊返回按鈕時,重新獲取一下history.length,並用剛進入b頁面記錄的值去減去最新的history.length,即可獲取到需要回退的步數。

注:history.length:瀏覽器歷史列表中的元素數量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章