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

vue 項目全屏插件screenfull使用案例

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

一、使用screenfull插件

1. npm安裝screenfull插件

npm install screenfull --save

提示:在vue項目中導入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>
    <!--需要全屏展示的內容-->
    <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按鍵按下導致的全屏變化,但是監(jiān)聽不到F11的打開全屏的變化,isScreenFull
    document.addEventListener("fullscreenchange", () => {
      this.isFullscreen = !this.isFullscreen;//你要切換得圖標使用得屬性
    });
    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;
    }
    // 這個方法會請求全屏,如果當前是全屏則會退出全屏。
    // 無需自己再判斷當前屏幕狀態(tài)
    screenfull.toggle();
  },
}

二、快速了解screenfull插件

點擊了解screenfull插件

1. 使用方法

  • 首先安裝 npm install screenfull --save
  • 在使用.vue文件中 引入 import screenfull from ‘screenfull’
  • 在按鈕方法中調用 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: 返回一個全屏的dom節(jié)點,如果沒有就為 null
  • .isFullscreen : 是否是全屏狀態(tài)
  • .isEnabled : 判斷是否支持全屏

3. 使用注意事項

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

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

相關文章

  • vue實現(xiàn)表格過濾功能

    vue實現(xiàn)表格過濾功能

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

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

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

    Vuex之理解state的用法實例

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

    如何在 Vite 項目中自動為每個 Vue 文件導入 base.les

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

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

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

    Vue SPA 初次進入加載動畫實現(xiàn)代碼

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

    vue elementUI下拉框值無法選中問題及解決方案

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

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

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

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

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

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

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

最新評論