摘要:保存當(dāng)前鏈接添加一個(gè)新頁(yè)面到瀏覽器歷史只有做這一步點(diǎn)擊返回按鈕才不會(huì)返回上一頁(yè)而是留在本頁(yè)并觸發(fā)事件現(xiàn)在的鏈接和之前保存的一致的話(huà)就執(zhí)行讓這個(gè)事件只響應(yīng)一次如果想要防止用戶(hù)誤點(diǎn)擊返回鍵,上面的函數(shù)可以這樣調(diào)用好恐怖,難怪以前一直禁用類(lèi)似的
1.檢查是否觸屏設(shè)備
//此方法在chrome模擬手機(jī)的模式中似乎無(wú)效,但是在iphone中是有效的,在安卓中待測(cè)試 function isTouchDevice() { return ("ontouchstart" in document.documentElement); }2.檢測(cè)更多的設(shè)備和瀏覽器信息,靠的是ua信息
var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return {//移動(dòng)終端瀏覽器版本信息 trident: u.indexOf("Trident") > -1, //IE內(nèi)核 presto: u.indexOf("Presto") > -1, //opera內(nèi)核 webKit: u.indexOf("AppleWebKit") > -1, //蘋(píng)果、谷歌內(nèi)核 gecko: u.indexOf("Gecko") > -1 && u.indexOf("KHTML") == -1, //火狐內(nèi)核 mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否為移動(dòng)終端 ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端 android: u.indexOf("Android") > -1 || u.indexOf("Linux") > -1, //android終端或者uc瀏覽器 iPhone: u.indexOf("iPhone") > -1 || u.indexOf("Mac") > -1, //是否為iPhone或者QQHD瀏覽器 iPad: u.indexOf("iPad") > -1, //是否iPad webApp: u.indexOf("Safari") == -1 //是否web應(yīng)該程序,沒(méi)有頭部與底部 }; }(), language:(navigator.browserLanguage || navigator.language).toLowerCase() } //document.writeln("語(yǔ)言版本: "+browser.language); //document.writeln(" 是否為移動(dòng)終端: "+browser.versions.mobile); //document.writeln(" ios終端: "+browser.versions.ios); //document.writeln(" android終端: "+browser.versions.android); //document.writeln(" 是否為iPhone: "+browser.versions.iPhone); //document.writeln(" 是否iPad: "+browser.versions.iPad); //document.writeln(navigator.userAgent);3.H5偵聽(tīng)用戶(hù)點(diǎn)擊一次返回按鈕,做到不刷新頁(yè)面,而是回調(diào)函數(shù)
//用法 onBackBtnClick(function () { //點(diǎn)擊返回按鈕后要做些什么 }); /** * 偵聽(tīng)瀏覽器返回按鈕的點(diǎn)擊事件。 * ps1.每調(diào)用一次本函數(shù),本瀏覽器窗口會(huì)重定向到一個(gè)新頁(yè)面,但是頁(yè)面不會(huì)刷新,所以在用戶(hù)看來(lái)除了地址變了,其它什么都沒(méi)變, * 而在瀏覽器看來(lái)是跳到了新頁(yè)面,只是沒(méi)有加載新頁(yè)面的元素 * @param fn function 當(dāng)用戶(hù)點(diǎn)擊瀏覽器返回按鈕,返回到調(diào)用本函數(shù)時(shí)所在頁(yè)面時(shí)執(zhí)行。 * ps.因?yàn)樵试S多次調(diào)用本函數(shù),所以有可能會(huì)跳了很多個(gè)頁(yè)面,所以不是每次點(diǎn)返回鍵都會(huì)調(diào)用這個(gè)函數(shù) * @param [one=true] bool 這個(gè)事件是否只響應(yīng)一次,true是,false否。默認(rèn)true。 * */ function onBackBtnClick(fn,one) { var mark = Math.random(), thisUrl = location.href;//保存當(dāng)前鏈接 //添加一個(gè)新頁(yè)面到瀏覽器歷史(只有做這一步,點(diǎn)擊返回按鈕才不會(huì)返回上一頁(yè),而是留在本頁(yè)并觸發(fā)事件) history.pushState({}, "", "#newWin&mark="+mark); window.addEventListener("popstate",back); function back(){ if(location.href==thisUrl){//現(xiàn)在的鏈接和之前保存的一致的話(huà),就執(zhí)行 console.log(location.href,thisUrl); fn&&fn(); if(one!==false) window.removeEventListener("popstate",back);//讓這個(gè)事件只響應(yīng)一次 } } }
如果想要防止用戶(hù)誤點(diǎn)擊返回鍵,上面的函數(shù)可以這樣調(diào)用:
function disableBackBtn(){ onBackBtnClick(function(){ disableBackBtn(); }); } disableBackBtn();好恐怖,難怪以前一直禁用類(lèi)似的api
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/87684.html
摘要:保存當(dāng)前鏈接添加一個(gè)新頁(yè)面到瀏覽器歷史只有做這一步點(diǎn)擊返回按鈕才不會(huì)返回上一頁(yè)而是留在本頁(yè)并觸發(fā)事件現(xiàn)在的鏈接和之前保存的一致的話(huà)就執(zhí)行讓這個(gè)事件只響應(yīng)一次如果想要防止用戶(hù)誤點(diǎn)擊返回鍵,上面的函數(shù)可以這樣調(diào)用好恐怖,難怪以前一直禁用類(lèi)似的 1.檢查是否觸屏設(shè)備 //此方法在chrome模擬手機(jī)的模式中似乎無(wú)效,但是在iphone中是有效的,在安卓中待測(cè)試 function isTouc...
摘要:簡(jiǎn)介前端發(fā)展迅速,開(kāi)發(fā)者富有的創(chuàng)造力不斷的給前端生態(tài)注入新生命,各種庫(kù)框架工程化構(gòu)建工具層出不窮,眼花繚亂,不盲目追求前沿技術(shù),學(xué)習(xí)框架和庫(kù)在滿(mǎn)足自己開(kāi)發(fā)需求的基礎(chǔ)上,然后最好可以對(duì)源碼進(jìn)行調(diào)研,了解和深入實(shí)現(xiàn)原理,從中可以獲得更多的收獲隨 showImg(https://segmentfault.com/img/remote/1460000016784101?w=936&h=397)...
摘要:更多資源請(qǐng)文章轉(zhuǎn)自月份前端資源分享關(guān)于的思考一款有趣的動(dòng)畫(huà)效果跨站資源共享之二最流行的編程語(yǔ)言能做什么到底什么是閉包的第三個(gè)參數(shù)跨域資源共享詳解阮一峰前端要給力之語(yǔ)句在中的值周愛(ài)民中國(guó)第二屆視頻花絮編碼規(guī)范前端工程師手冊(cè)奇舞周刊被忽視的 更多資源請(qǐng)Star:https://github.com/maidishike... 文章轉(zhuǎn)自:https://github.com/jsfron...
摘要:在用戶(hù)喜愛(ài)的眾多功能中,使用率最高的是模版消息推送。模版消息推送數(shù)的量級(jí)也由早期每天幾百條,變?yōu)楹髞?lái)的每天數(shù)百萬(wàn)條。平臺(tái)支持少知曉云已經(jīng)支持包括微信小程序和支付寶小程序在內(nèi)的各大小程序平臺(tái)的消息推送,對(duì)平臺(tái)的支持也將在近期上線(xiàn)。 兩年多前,為了讓更多的人找到好玩、好用的小程序,我們成立了「知曉程序」。 再后來(lái),我們推出了后端云服務(wù)平臺(tái)——知曉云,幫助大家降低創(chuàng)業(yè)成本,提升開(kāi)發(fā)效率。 「...
閱讀 1825·2023-04-26 02:32
閱讀 573·2021-11-18 13:12
閱讀 2457·2021-10-20 13:48
閱讀 2526·2021-10-14 09:43
閱讀 3837·2021-10-11 10:58
閱讀 3504·2021-09-30 10:00
閱讀 2940·2019-08-30 15:53
閱讀 3495·2019-08-30 15:53