国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

使用html5新特性輕松監聽任何App自帶返回鍵的示例

2024-08-26 00:20:31
字體:
來源:轉載
供稿:網友

1、前言

如今h5新特性、新標簽、新規范等有很多,而且正在不斷完善中,各大瀏覽器商對它們的支持,也是相當給力。作為前端程序員,我覺得我們還是有必要積極關注并勇敢地加以實踐。接下來我將和各位分享一個特別好用的h5新特性(目前也不是特別新),輕松監聽任何App自帶的返回鍵,包括安卓機里的物理返回鍵,從而實現項目開發中進一步的需求。

2、起因

大概半年前接到pm一需求,用純h5實現多audio的播放、暫停、續播,頁面放至駕考寶典App中,與客戶端沒有任何的交互,所以與客戶端相關的js不需要引用。看上去這需求挺簡單的嘛,雖然之前也沒做過類似的需求。不管三七二十一,擼起袖子就是干。開始了學習之旅。

3、我這里著重介紹下我具體是怎么監聽任何App自帶的返回鍵,以及安卓機里的物理返回鍵。

那為什么我要去監聽呢,這里我有必要強調強調再強調。蘋果手機不管是微信、QQ、App,還是瀏覽器里,涉及到audio、video,返回上一頁系統會自動暫停當前的播放的,但不是所有安卓機都可以。所以我們自己必須自定義監聽。很多朋友可能第一想法就是百度,然后出來的答案無非是這樣

pushHistory(); window.addEventListener("popstate", function(e) {     alert("我監聽到了瀏覽器的返回按鈕事件啦");//根據自己的需求實現自己的功能 }, false); function pushHistory() {     var state = {         title: "title",         url: "#"    };     window.history.pushState(state, "title", "#"); }

是不是很眼熟?然而關鍵需求不能完美實現,要這段代碼有何用,當時我也是絞盡腦汁。直到經過大神好友指導,復制了這段代碼

var hiddenProperty = 'hidden' in document ? 'hidden' :        'webkitHidden' in document ? 'webkitHidden' :        'mozHidden' in document ? 'mozHidden' :        null;var visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange');var onVisibilityChange = function(){    if (!document[hiddenProperty]) {            console.log('頁面非激活');    }else{        console.log('頁面激活')    }}document.addEventListener(visibilityChangeEvent, onVisibilityChange);

所有問題迎刃而解。

這段代碼的原理我個人理解就是通過判斷用戶瀏覽的是否為當前頁,從而進行相關操作。

這是 MDN相關鏈接:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/hidden

并不是說真的可以通過JS監聽到App里的自帶返回鍵,甚至安卓的物理返回鍵,而是通過轉變思路,快速實現需求。希望這個特性能幫到各位。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。

 

注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三江| 即墨市| 莱阳市| 敖汉旗| 洛扎县| 黔江区| 浦城县| 长宁区| 英山县| 沅陵县| 黔南| 荣成市| 呈贡县| 榆林市| 武功县| 井陉县| 铁岭市| 二连浩特市| 高碑店市| 泰兴市| 临潭县| 海南省| 涪陵区| 昌江| 漳州市| 土默特右旗| 罗城| 合肥市| 灌云县| 长宁县| 垣曲县| 宣化县| 茶陵县| 秭归县| 东源县| 绥滨县| 和田县| 于田县| 驻马店市| 盈江县| 浏阳市|