最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一、使用screenfull插件

1. npm安裝screenfull插件

npm install screenfull --save

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

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

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)聽頁面全屏
    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)聽F11和手動的全屏、退出全屏事件

<i class="i_icon el-icon-full-screen" @click="isScreenFull"></i>
import screenfull from 'screenfull'
mounted() {
  this.screenFull();
},
methods: {
  //監(jiān)聽Esc事件;
  screenFull() {
    //監(jiān)聽f11事件
    window.addEventListener("keydown", this.KeyDown, true);
    //這些監(jiān)聽,可以監(jiān)聽到esc按鍵按下導(dǎo)致的全屏變化,但是監(jiān)聽不到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è)方法會請求全屏,如果當(dāng)前是全屏則會退出全屏。
    // 無需自己再判斷當(dāng)前屏幕狀態(tài)
    screenfull.toggle();
  },
}

二、快速了解screenfull插件

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

1. 使用方法

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

2. API

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

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

  • requestFullscreen方法只能由用戶觸發(fā)。
  • 頁面跳轉(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue實(shí)現(xiàn)輪播圖的多種方式

    vue實(shí)現(xiàn)輪播圖的多種方式

    這篇文章給大家介紹了vue實(shí)現(xiàn)輪播圖的多種方式,文中給出了四種實(shí)現(xiàn)方式,并通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,感興趣的朋友可以參考下
    2024-02-02
  • vue3 + ElementPlus 封裝列表表格組件包含分頁

    vue3 + ElementPlus 封裝列表表格組件包含分頁

    文章介紹了如何在Vue3和ElementPlus中封裝一個(gè)包含分頁功能的通用列表表格組件,組件通過props接收表格數(shù)據(jù)、列配置、總條數(shù)、加載狀態(tài)和分頁配置,并通過events處理分頁和刷新事件,此外,還提供了自定義列內(nèi)容和操作按鈕的功能,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • 基于vue實(shí)現(xiàn)swipe分頁組件實(shí)例

    基于vue實(shí)現(xiàn)swipe分頁組件實(shí)例

    本篇文章主要介紹了基于vue實(shí)現(xiàn)swipe分頁組件實(shí)例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • Vue3中的動態(tài)組件詳解

    Vue3中的動態(tài)組件詳解

    本文介紹了Vue3中的動態(tài)組件,通過`<component :is="動態(tài)組件名或組件對象"></component>`來實(shí)現(xiàn)根據(jù)條件動態(tài)渲染不同的組件,此外,還提到了使用`markRaw`和`shallowRef`來優(yōu)化性能,避免不必要的響應(yīng)式劫持
    2025-02-02
  • Vue.js實(shí)現(xiàn)雙向數(shù)據(jù)綁定方法(表單自動賦值、表單自動取值)

    Vue.js實(shí)現(xiàn)雙向數(shù)據(jù)綁定方法(表單自動賦值、表單自動取值)

    今天小編就為大家分享一篇Vue.js實(shí)現(xiàn)雙向數(shù)據(jù)綁定方法(表單自動賦值、表單自動取值),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue隨機(jī)驗(yàn)證碼組件的封裝實(shí)現(xiàn)

    vue隨機(jī)驗(yàn)證碼組件的封裝實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了如何封裝一個(gè)隨機(jī)驗(yàn)證碼的VUE組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 使用vuetify實(shí)現(xiàn)全局v-alert消息通知的方法

    使用vuetify實(shí)現(xiàn)全局v-alert消息通知的方法

    使用強(qiáng)大的Vuetify開發(fā)前端頁面,結(jié)果發(fā)現(xiàn)官方?jīng)]有提供簡便的全局消息通知組件,所以自己動手寫了一個(gè)簡單的組件,接下來通過本文給大家介紹使用vuetify實(shí)現(xiàn)全局v-alert消息通知的詳細(xì)代碼,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • vue elementUI日期報(bào)錯dateObject.getTime is not a function問題及解決

    vue elementUI日期報(bào)錯dateObject.getTime is not&nb

    文章描述了在使用Vue和Element UI時(shí),日期選擇器報(bào)錯的問題,原因?yàn)閞ules中設(shè)置了type:'date',導(dǎo)致初始化為string類型,修改方法是初始化時(shí)間為new Date(),并去掉rules中的type:'date'
    2025-12-12
  • vue.js實(shí)現(xiàn)圖片壓縮封裝方法

    vue.js實(shí)現(xiàn)圖片壓縮封裝方法

    這篇文章主要介紹了vue.js實(shí)現(xiàn)圖片壓縮封裝方法,包括全局main.js引入方法,通過引入imgupload方法結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • Vue3使用ref解決GetElementById為空的問題

    Vue3使用ref解決GetElementById為空的問題

    今天遇到一個(gè)問題,就是在Vue3組件中需要獲取template中的元素節(jié)點(diǎn),使用GetElementById返回的卻是null,網(wǎng)上查找了好些資料,才發(fā)需要使用ref,所以本文給大家介紹了Vue3組件中如何使用ref解決GetElementById為空的問題,需要的朋友可以參考下
    2023-12-12

最新評論

壶关县| 乌兰浩特市| 达州市| 安溪县| 射洪县| 简阳市| 改则县| 兴海县| 容城县| 隆化县| 津南区| 仁布县| 扶绥县| 渑池县| 佳木斯市| 张家港市| 宝坻区| 芒康县| 中西区| 石棉县| 高青县| 敦化市| 河北区| 海南省| 遂昌县| 大城县| 墨竹工卡县| 合水县| 皮山县| 原阳县| 精河县| 阳东县| 石家庄市| 大足县| 额尔古纳市| 金秀| 青川县| 卓资县| 开平市| 屏东县| 法库县|