欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue-video-player 解決微信自動全屏播放問題(橫豎屏導(dǎo)致樣式錯亂問題)

 更新時間:2020年02月25日 10:02:01   作者:imwkey  
這篇文章主要介紹了vue-video-player 解決微信自動全屏播放問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

對于vue-video-player,從github上找到一段代碼,直接放頁面!可以了,視頻展示出來了!開始下一個功能。。。。

這可能是大部分前端開發(fā)者一貫的思維模式,拿來一個插件,看著demo就做出來了,功能展示正常就OK了,但是一旦出了bug,就會面向百度編程或者面向Google編程!

其實,我也是這樣的,哈哈哈哈.....

廢話不多說,最近在做一個視頻播放的功能,找到vue-video-player插件后,咔咔咔完事,拿著我的愛瘋,完美演繹!但是其他人的國產(chǎn)某牌手機,展示的完全不一樣,打開后自動全屏,而且還有個橫豎屏控制。“這是我寫的頁面?????”,心中一萬只神獸在奔騰。橫豎屏切換后,視頻下的內(nèi)容在全屏模式下展示了出來一部分。

百度了半天,看源碼,還是不知道咋回事。

后來終于找到了解決辦法:

之前:playsinline="playsinline"這里是true寫死的,現(xiàn)在改為計算屬性playsinline()

 computed: {
  player () {
   return this.$refs.videoPlayer.player
  },
  playsinline () {
   let ua = navigator.userAgent.toLocaleLowerCase()
   // x5內(nèi)核
   if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) {
    return false
   } else {
    // ios端
    return true
   }
  }
 }

添加playsinline()這個計算屬性,原因是在安卓和iOS端微信使用的內(nèi)核不同,所需要的attribute也不同,嘗試后,采用x5內(nèi)核返回false,反之為true

配合jq工具,繼續(xù)添加兩個端所需的屬性 

@canplay="onPlayerCanplay($event)"
onPlayerCanplay (player) {
   var ua = navigator.userAgent.toLocaleLowerCase()
   // x5內(nèi)核
   if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) {
    $('body').find('video').attr('x-webkit-airplay', true).attr('x5-playsinline', true).attr('webkit-playsinline', true).attr('playsinline', true)
   } else {
    // ios端
    $('body').find('video').attr('webkit-playsinline', 'true').attr('playsinline', 'true')
   }
  },

至此,完美解決安卓端微信播放時,橫豎屏的播放樣式錯亂和播放時視頻內(nèi)容未自適應(yīng)。

為兼容ios橫屏將視頻旋轉(zhuǎn)90度

methods: {
    // 視頻寬高設(shè)置為手機寬高
    videoFullScreen() {
      let width = document.documentElement.clientWidth;
      let height = document.documentElement.clientHeight;
      document.getElementById('video_content').style.height = width + 'px';
      document.getElementById('video_content').style.width = height + 'px';
    },
  }

/*視頻旋轉(zhuǎn)*/
.video_box_rotate{
  
  transform rotate(90deg)
}

視頻監(jiān)聽播放結(jié)束、進入全屏、退出全屏事件

mounted() {this.videoEnd()},
methods: {
  videoEnd(){
      let video = document.getElementById('video_content');
      video.addEventListener('ended', () => {
        alert('video end')
      });

  }; // 視頻播放結(jié)束
}
// 全屏事件 x5videoenterfullscreen
// 退出全屏 x5videoexitfullscreen

監(jiān)聽手機橫豎屏

window.addEventListener('orientationchange', function() {
          // alert(window.orientation); // 這里可以根據(jù)orientation做相應(yīng)的處理
          if (window.orientation === -90) {
            self.iphoneScreenShow = true;
          } else {
            self.iphoneScreenShow = false;
          }
        }, false);

到此這篇關(guān)于vue-video-player 解決微信自動全屏播放問題(橫豎屏導(dǎo)致樣式錯亂問題)的文章就介紹到這了,更多相關(guān)vue-video-player 自動全屏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue自動化路由的實現(xiàn)代碼

    vue自動化路由的實現(xiàn)代碼

    這篇文章主要介紹了vue自動化路由的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • vue3+vite實現(xiàn)在線預(yù)覽pdf功能

    vue3+vite實現(xiàn)在線預(yù)覽pdf功能

    這篇文章主要為大家詳細(xì)介紹了如何通過vue3和vite實現(xiàn)在線預(yù)覽pdf功能,文中的示例代碼簡潔易懂,具有一定的借鑒價值,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-10-10
  • 用vue和node寫的簡易購物車實現(xiàn)

    用vue和node寫的簡易購物車實現(xiàn)

    這篇文章主要介紹了用vue和node寫的簡易購物車實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • vue實現(xiàn)抽屜彈窗效果

    vue實現(xiàn)抽屜彈窗效果

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)抽屜彈窗效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Vue使用echarts散點圖在區(qū)域內(nèi)標(biāo)點

    Vue使用echarts散點圖在區(qū)域內(nèi)標(biāo)點

    這篇文章主要為大家詳細(xì)介紹了Vue使用echarts散點圖在區(qū)域內(nèi)標(biāo)點,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 深入理解Vue的插件機制與install詳細(xì)

    深入理解Vue的插件機制與install詳細(xì)

    這篇文章主要介紹的是深入理解Vue的插件機制與install,文章主要是講解install函數(shù)可以做些什么、install內(nèi)部是怎么實現(xiàn)的、 Vuex,Vue-Router插件在install期間到底干了什么,需要的小伙伴可以參考一下
    2021-09-09
  • element日期組件實現(xiàn)只能選擇小時或分鐘

    element日期組件實現(xiàn)只能選擇小時或分鐘

    本文主要介紹了element日期組件實現(xiàn)只能選擇小時或分鐘,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • mpvue中配置vuex并持久化到本地Storage圖文教程解析

    mpvue中配置vuex并持久化到本地Storage圖文教程解析

    這篇文章主要介紹了mpvue中配置vuex并持久化到本地Storage的教程詳解,# 配置vuex和在vue中相同,只是mpvue有一個坑,就是不能直接在new Vue的時候傳入store。本文分步驟給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2018-03-03
  • Vue使用CDN引用項目組件,減少項目體積的步驟

    Vue使用CDN引用項目組件,減少項目體積的步驟

    這篇文章主要介紹了Vue使用CDN引用項目組件,減少項目體積的步驟,幫助大家提高項目加載速度,感興趣的朋友可以了解下
    2020-10-10
  • 在vue項目中配置你自己的啟動命令和打包命令方式

    在vue項目中配置你自己的啟動命令和打包命令方式

    這篇文章主要介紹了在vue項目中配置你自己的啟動命令和打包命令方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04

最新評論