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

js監(jiān)聽(tīng)F11觸發(fā)全屏事件簡(jiǎn)單代碼舉例

 更新時(shí)間:2024年05月10日 09:58:25   作者:lyj168997  
這篇文章主要給大家介紹了關(guān)于js監(jiān)聽(tīng)F11觸發(fā)全屏事件的相關(guān)資料,自己工作中遇到的一點(diǎn)點(diǎn)小問(wèn)題,記錄一下,希望也能對(duì)你們有幫助,需要的朋友可以參考下

當(dāng)用戶使用 F11 鍵進(jìn)行瀏覽器全屏?xí)r,由于此時(shí)并非通過(guò)瀏覽器提供的 Fullscreen API 進(jìn)入全屏模式,因此無(wú)法通過(guò) fullscreenchange 事件來(lái)監(jiān)聽(tīng)全屏狀態(tài)的變化。在這種情況下,可以通過(guò)監(jiān)聽(tīng) resize 事件來(lái)檢測(cè)瀏覽器窗口大小的變化,從而判斷是否處于全屏模式。

下面是一個(gè)示例代碼,演示如何通過(guò)監(jiān)聽(tīng) resize 事件來(lái)檢測(cè) F11 全屏操作:

let isFullScreen = false;

function checkFullScreen() {
  const fullscreenElement = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || ( window.innerHeight === screen.height);
  if (fullscreenElement) {
    isFullScreen = true;
    console.log("進(jìn)入全屏模式");
  } else {
    isFullScreen = false;
    console.log("退出全屏模式");
  }
}

// 監(jiān)聽(tīng) resize 事件來(lái)檢測(cè)全屏狀態(tài)的變化
window.addEventListener("resize", checkFullScreen);

// 頁(yè)面加載完畢,初始化全屏狀態(tài)
window.addEventListener("load", checkFullScreen);

在上面的代碼中,我們定義了一個(gè) checkFullScreen 函數(shù)來(lái)檢測(cè)全屏狀態(tài),并在頁(yè)面加載完成時(shí)和窗口大小變化時(shí)調(diào)用該函數(shù)。通過(guò)不斷檢測(cè)當(dāng)前是否存在全屏元素,我們可以實(shí)現(xiàn)對(duì) F11 全屏操作的監(jiān)聽(tīng)和處理。

在 Vue 中,可以在組件的生命周期鉤子函數(shù)中添加監(jiān)聽(tīng)和移除事件監(jiān)聽(tīng)。例如,可以在 mounted 鉤子函數(shù)中添加監(jiān)聽(tīng)事件,在 beforeDestroy 鉤子函數(shù)中移除監(jiān)聽(tīng)事件。這樣可以確保在組件銷毀時(shí)正確地清除事件監(jiān)聽(tīng),避免內(nèi)存泄漏和性能問(wèn)題。

下面是一個(gè)示例代碼,演示如何在 Vue 中監(jiān)聽(tīng)窗口大小變化事件并在組件銷毀時(shí)移除監(jiān)聽(tīng):

export default {
  mounted() {
    // 添加窗口大小變化事件監(jiān)聽(tīng)
    window.addEventListener("resize", this.checkFullScreen);
    window.addEventListener("load", this.checkFullScreen); // 也可以在這里初始化全屏狀態(tài)
  },
  beforeDestroy() {
    // 移除窗口大小變化事件監(jiān)聽(tīng)
    window.removeEventListener("resize", this.checkFullScreen);
    window.removeEventListener("load", this.checkFullScreen);
  },
  methods: {
    checkFullScreen() {
      const isBrowserFullScreen = window.innerHeight === screen.height;
      
      if (isBrowserFullScreen) {
        console.log("進(jìn)入全屏模式");
      } else {
        console.log("退出全屏模式");
      }
    }
  }
};

在上面的代碼中,我們?cè)?Vue 組件中使用 mounted 鉤子函數(shù)添加窗口大小變化事件監(jiān)聽(tīng),在 beforeDestroy 鉤子函數(shù)中移除監(jiān)聽(tīng)。同時(shí),我們還提供了一個(gè) checkFullScreen 方法用來(lái)檢測(cè)全屏狀態(tài)。

附:禁用F11,可以試試,可能無(wú)效。

據(jù)說(shuō)死瀏覽器的行為,我們無(wú)法控制,但是有個(gè)思路,可以根據(jù)上面的監(jiān)聽(tīng)事件來(lái)判斷,若全屏呢,可以禁用某些行為。

window.onkeydown = function (event) {
    if (event.keyCode === 122) {
      event.preventDefault()
      event.returnValue = false
    }
  }

總結(jié)

到此這篇關(guān)于js監(jiān)聽(tīng)F11觸發(fā)全屏事件的文章就介紹到這了,更多相關(guān)js監(jiān)聽(tīng)F11觸發(fā)全屏事件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論