亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue 項(xiàng)目全屏插件screenfull使用案例

 更新時(shí)間:2023年12月21日 14:46:55   作者:weixin_45665171  
這篇文章主要介紹了vue 項(xiàng)目全屏插件screenfull使用案例,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

一、使用screenfull插件

1. npm安裝screenfull插件

npm install screenfull --save

提示:在vue項(xiàng)目中導(dǎo)入screenfull插件,出現(xiàn)編譯錯(cuò)誤,錯(cuò)誤如圖所示:

原因分析:
安裝的screenfull插件版本過(guò)高
解決方法:
降低插件版本

npm install screenfull@4.2.0 --save

2. 在vue文件中引入screenfull插件

import screenfull from 'screenfull'

3. vue文件demo

<template>
  <div>
    <ul>
      <li @click="clickFun">{{isFullFlag?'退出全屏':'全屏'}}</li>
      <li @click="clickFun1">{{isFullFlag1?'退出部分全屏':'部分全屏'}}</li>
    </ul>
    <!--需要全屏展示的內(nèi)容-->
    <div id="content"></div>
  </div>
</template>
<script>
import screenfull from 'screenfull'
export default {
  name: "HelloWorld",
  data() {
    return {
      isFullFlag: false,
      isFullFlag1: false,
    }
  },
  mounted() {
    // 監(jiān)聽(tīng)頁(yè)面全屏
    window.addEventListener("fullscreenchange", (e) => {
      console.log(screenfull.isFullscreen)
      this.isFullFlag = screenfull.isFullscreen
    })
  },
  methods: {
    clickFun() {
      this.isFullFlag = !this.isFullFlag
      console.log(screenfull)
      if (!screenfull.enabled) {
        this.$message({
          message: 'Your browser does not work',
          type: 'warning'
        })
        return false
      }
      screenfull.toggle()
    },
    clickFun1() {
      this.isFullFlag1 = !this.isFullFlag1
      const element = document.getElementById('content');//指定全屏區(qū)域元素
      if (this.isFullFlag1) {
        // screenfull.request(element);
        element.requestFullscreen()
      } else {
        document.exitFullscreen();
      }
    },
  },
};
</script>

4. 監(jiān)聽(tīng)F11和手動(dòng)的全屏、退出全屏事件

<i class="i_icon el-icon-full-screen" @click="isScreenFull"></i>
import screenfull from 'screenfull'
mounted() {
  this.screenFull();
},
methods: {
  //監(jiān)聽(tīng)Esc事件;
  screenFull() {
    //監(jiān)聽(tīng)f11事件
    window.addEventListener("keydown", this.KeyDown, true);
    //這些監(jiān)聽(tīng),可以監(jiān)聽(tīng)到esc按鍵按下導(dǎo)致的全屏變化,但是監(jiān)聽(tīng)不到F11的打開全屏的變化,isScreenFull
    document.addEventListener("fullscreenchange", () => {
      this.isFullscreen = !this.isFullscreen;//你要切換得圖標(biāo)使用得屬性
    });
    document.addEventListener("mozfullscreenchange", () => {
      this.isFullscreen = !this.isFullscreen;
    });
    document.addEventListener("webkitfullscreenchange", () => {
      this.isFullscreen = !this.isFullscreen;
    });
    document.addEventListener("msfullscreenchange", () => {
      this.isFullscreen = !this.isFullscreen;
    });
  },
  KeyDown(event) {
    if (event.keyCode === 122) {
      event.returnValue = false;
      this.isScreenFull(); //觸發(fā)全屏的方法
    }
  },
  //全屏方法
  isScreenFull() {
    if (!screenfull.isEnabled) {
      return false;
    }
    // 這個(gè)方法會(huì)請(qǐng)求全屏,如果當(dāng)前是全屏則會(huì)退出全屏。
    // 無(wú)需自己再判斷當(dāng)前屏幕狀態(tài)
    screenfull.toggle();
  },
}

二、快速了解screenfull插件

點(diǎn)擊了解screenfull插件

1. 使用方法

  • 首先安裝 npm install screenfull --save
  • 在使用.vue文件中 引入 import screenfull from ‘screenfull’
  • 在按鈕方法中調(diào)用 screenfull.toggle()
  • 還可以檢測(cè)全屏狀態(tài) screenfull.isFullscreen
  • 測(cè)試瀏覽器是否支持全screenfull screenfull.isEnabled

2. API

  • .request(ele) 全屏
  • .exit() 退出全屏
  • .toggle() 切換全屏
  • .on(event, function) : event為 ‘change’ | ‘error’ 注冊(cè)事件
  • .off(event, function) : 移除前面已經(jīng)注冊(cè)的事件
  • .element: 返回一個(gè)全屏的dom節(jié)點(diǎn),如果沒(méi)有就為 null
  • .isFullscreen : 是否是全屏狀態(tài)
  • .isEnabled : 判斷是否支持全屏

3. 使用注意事項(xiàng)

  • requestFullscreen方法只能由用戶觸發(fā)。
  • 頁(yè)面跳轉(zhuǎn)需先退出全屏
  • 進(jìn)入全屏的元素,將脫離其父元素,所以可能導(dǎo)致之前某些css的失效
  • 解決方案:使用 :full-screen偽類 為元素添加全屏?xí)r的樣式(使用時(shí)為了兼容注意添加-webkit、-moz或-ms前綴)
  • 我這里是使用原生的方法修改了css
  • 一個(gè)元素A全屏后,其子元素要再全屏,需先讓元素A退出全屏

到此這篇關(guān)于vue 項(xiàng)目設(shè)置全屏,使用screenfull插件的文章就介紹到這了,更多相關(guān)vue設(shè)置全屏內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue實(shí)現(xiàn)表格過(guò)濾功能

    vue實(shí)現(xiàn)表格過(guò)濾功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)表格過(guò)濾功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • vue3中如何使用codemirror6增加代碼提示功能

    vue3中如何使用codemirror6增加代碼提示功能

    這篇文章主要給大家介紹了關(guān)于vue3中如何使用codemirror6增加代碼提示功能的相關(guān)資料,Codemirror是一個(gè)不錯(cuò)的Web代碼編輯庫(kù),可以方便簡(jiǎn)單的集成,需要的朋友可以參考下
    2023-08-08
  • Vuex之理解state的用法實(shí)例

    Vuex之理解state的用法實(shí)例

    本篇文章主要介紹了Vuex之理解state的用法實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • 如何在 Vite 項(xiàng)目中自動(dòng)為每個(gè) Vue 文件導(dǎo)入 base.less

    如何在 Vite 項(xiàng)目中自動(dòng)為每個(gè) Vue 文件導(dǎo)入 base.les

    在Vite配置中通過(guò)添加css.preprocessorOptions實(shí)現(xiàn)自動(dòng)導(dǎo)入base.less,簡(jiǎn)化Vue組件的樣式設(shè)置,提高代碼的可維護(hù)性,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Vue數(shù)據(jù)變化監(jiān)聽(tīng)錯(cuò)誤的常見(jiàn)原因與解決方案

    Vue數(shù)據(jù)變化監(jiān)聽(tīng)錯(cuò)誤的常見(jiàn)原因與解決方案

    在?Vue.js?開發(fā)中,watch?是一個(gè)強(qiáng)大的工具,用于監(jiān)聽(tīng)數(shù)據(jù)的變化并執(zhí)行相應(yīng)的操作,然而,許多開發(fā)者在使用?watch?時(shí)會(huì)遇到數(shù)據(jù)變化未被正確監(jiān)聽(tīng)的問(wèn)題,這可能導(dǎo)致程序邏輯錯(cuò)誤或視圖更新失敗,本文將探討這些問(wèn)題的常見(jiàn)原因,并提供相應(yīng)的解決方案,需要的朋友可以參考下
    2025-03-03
  • Vue SPA 初次進(jìn)入加載動(dòng)畫實(shí)現(xiàn)代碼

    Vue SPA 初次進(jìn)入加載動(dòng)畫實(shí)現(xiàn)代碼

    今天小編就為大家分享一篇Vue SPA 初次進(jìn)入加載動(dòng)畫實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • vue elementUI下拉框值無(wú)法選中問(wèn)題及解決方案

    vue elementUI下拉框值無(wú)法選中問(wèn)題及解決方案

    大家在寫系統(tǒng)的時(shí)候,會(huì)有這樣的需求:點(diǎn)擊修改后把需要修改的數(shù)據(jù)放入表單,其中會(huì)有下拉單選框、下拉多選框,展示下拉框單選框內(nèi)的數(shù)據(jù)只需要將所選id賦值給下拉框綁定的值就可以了,下面給大家分享vue elementUI下拉框值無(wú)法選中問(wèn)題,感興趣的朋友一起看看吧
    2024-03-03
  • Vue axios 將傳遞的json數(shù)據(jù)轉(zhuǎn)為form data的例子

    Vue axios 將傳遞的json數(shù)據(jù)轉(zhuǎn)為form data的例子

    今天小編就為大家分享一篇Vue axios 將傳遞的json數(shù)據(jù)轉(zhuǎn)為form data的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • vue3?el-table結(jié)合seamless-scroll實(shí)現(xiàn)表格數(shù)據(jù)滾動(dòng)的思路詳解

    vue3?el-table結(jié)合seamless-scroll實(shí)現(xiàn)表格數(shù)據(jù)滾動(dòng)的思路詳解

    這篇文章主要介紹了vue3?el-table結(jié)合seamless-scroll實(shí)現(xiàn)表格數(shù)據(jù)滾動(dòng),創(chuàng)建兩個(gè)table,隱藏第一個(gè)table的body部分,這樣就能得到一個(gè)固定的head,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • vue項(xiàng)目中銷毀window.addEventListener事件監(jiān)聽(tīng)解析

    vue項(xiàng)目中銷毀window.addEventListener事件監(jiān)聽(tīng)解析

    這篇文章主要介紹了vue項(xiàng)目中銷毀window.addEventListener事件監(jiān)聽(tīng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評(píng)論