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

首頁 > 開發 > HTML5 > 正文

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

2024-09-05 07:22:25
字體:
來源:轉載
供稿:網友

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里的自帶返回鍵,甚至安卓的物理返回鍵,而是通過轉變思路,快速實現需求。希望這個特性能幫到各位。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安新县| 化隆| 禄劝| 临湘市| 日喀则市| 凌海市| 孙吴县| 米易县| 北安市| 大理市| 开封县| 林芝县| 嘉峪关市| 海阳市| 张家口市| 定南县| 马山县| 丹巴县| 贺州市| 桐柏县| 开封县| 曲水县| 仁寿县| 正安县| 高安市| 乌苏市| 漳平市| 沾益县| 绩溪县| 济源市| 墨玉县| 双城市| 贵溪市| 开鲁县| 鄂伦春自治旗| 江油市| 宣化县| 常熟市| 油尖旺区| 古交市| 涞源县|