解決單頁面應用微信瀏覽器後臺加載視頻

問題

單頁面應用,用戶使用wifi打開過一個視頻後,即便銷燬了video,甚至播放頁面都關閉的狀況下,微信瀏覽器仍然會在後臺繼續加載視頻,這會浪費不少流量
最開始覺得使用銷燬vidoe標籤後,視頻即會中止加載,事實上在大部分瀏覽器上確實如此,可是微信內置瀏覽器在這方面表現不一致。
在使用流量的狀況下,退出播放頁面後視頻確實中止加載了,可是在wifi下,視頻會在後臺繼續下載,除非退出當前單頁面應用。瀏覽器

解決問題

  • 一、最開始在組件 destroy 的 hook 時,dispose videojs 實例,無效,視頻繼續後臺下載。
  • 二、後來想讓videojs 加載一個空的視頻資源地址欺騙微信瀏覽器,videojs.src(""),無效,視頻仍是會繼續加載。
  • 三、 空的字符串不生效,加載一個無效的視頻資源地址,再銷燬videojs實例,成功解決視頻後臺下載的問題。

主要代碼以下:微信

destroyed() {
      // 組件銷燬時,用一個假的播放視頻地址,欺騙微信瀏覽器,使其加載其餘的視頻,不繼續加載咱們的視頻同時銷燬videojs
      this.player.src({
        src: "http://124.160.184.108/live/5/45/3bfabc1fe16a4282b50ea095928c1f60.m3u8",
        type: 'application/x-mpegURL',
        withCredentials: false
      })
      setTimeout(()=>{
        this.player.dispose()
      },1500)
    }
相關文章
相關標籤/搜索