判断横屏 页面自适应 判断版本号

24 篇文章 0 订阅
2 篇文章 0 订阅

判断横屏 页面自适应 判断版本号

<script>
  import { browser} from '@/utils/nativeJsBridge'
  export default {
    inject: ['reload'], // 使用 inject 注入 reload 变量
    data() {
      return {
        screenHW: window.orientation, // 判断横竖屏
        isScreen: true, // 横竖屏
      }
    },
    computed: {
    watch: {
      screenHW: {
        immediate: true,
        handler(val, old) {
          console.log(val)
          console.log(old)
          this.rotate()
        },
      },
    },
    created() {
      if (browser.versions.ios) {
        if (
          this.compareVersion('2.8.8', localStorage.getItem('version')) == -1 ||
          this.compareVersion('2.8.8', localStorage.getItem('version')) == 0
        ) {
          console.log('大于')
        } else {
          // this.popShowBrowser = true
        }
      } else {
        if (
          this.compareVersion('2.8.7', localStorage.getItem('version')) == -1 ||
          this.compareVersion('2.8.7', localStorage.getItem('version')) == 0
        ) {
          console.log('大于')
        } else {
          this.popShowBrowser = true
        }
      }
    },
    mounted() {
      this.screenHW = window.orientation //保证刷新时获取状态准确

      // 监听窗口大小
      window.onresize = () => {
        return (() => {
          this.screenHW = window.orientation // 把横竖屏的变化赋值
        })()
      }
      window.addEventListener('load', this.rotate, false)

      this.$store.commit('show', false)
     
    },


    methods: {
      // 判断横竖屏
      rotate() {
        if (this.screenHW == 180 || this.screenHW == 0) {
          // console.log('竖屏')
          this.getOrientation()
          this.isScreen = true
        } else if (this.screenHW == 90 || this.screenHW == -90) {
          // console.log('横屏')
          const width = document.documentElement.offsetWidth
          document.documentElement.style.fontSize = width / 20 + 'px'
          this.isScreen = false
        }
      },
      getOrientation() {
      	//与app交互的横屏方法
      },
      // 版本号判断
      compareVersion(v1, v2) {
        if (v1 == v2) {
          return 0
        }
        const vs1 = v1.split('.').map((a) => parseInt(a))
        const vs2 = v2.split('.').map((a) => parseInt(a))
        const length = Math.min(vs1.length, vs2.length)
        for (let i = 0; i < length; i++) {
          if (vs1[i] > vs2[i]) {
            return 1
          } else if (vs1[i] < vs2[i]) {
            return -1
          }
        }
        if (length == vs1.length) {
          return -1
        } else {
          return 1
        }
      },
    },
  }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周亚鑫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值