導航:首頁 > 編程語言 > 移動端js

移動端js

發布時間:2025-02-06 13:02:22

Ⅰ 移動端怎麼用js判斷是手勢是向上滑動還是向下滑動

參考這位博客的內容:
js判斷手指滑動方向(移動端)

var startx, starty;
//獲得角度
function getAngle(angx, angy) {
return Math.atan2(angy, angx) * 180 / Math.PI;
};

//根據起點終點返回方向 1向上 2向下 3向左 4向右 0未滑動
function getDirection(startx, starty, endx, endy) {
var angx = endx - startx;
var angy = endy - starty;
var result = 0;

//如果滑動距離太短
if (Math.abs(angx) < 2 && Math.abs(angy) < 2) {
return result;
}

var angle = getAngle(angx, angy);
if (angle >= -135 && angle <= -45) {
result = 1;
} else if (angle > 45 && angle < 135) {
result = 2;
} else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {
result = 3;
} else if (angle >= -45 && angle <= 45) {
result = 4;
}

return result;
}
//手指接觸屏幕
document.addEventListener("touchstart", function(e) {
startx = e.touches[0].pageX;
starty = e.touches[0].pageY;
}, false);
//手指離開屏幕
document.addEventListener("touchend", function(e) {
var endx, endy;
endx = e.changedTouches[0].pageX;
endy = e.changedTouches[0].pageY;
var direction = getDirection(startx, starty, endx, endy);
switch (direction) {
case 0:
alert("未滑動!");
break;
case 1:
alert("向上!")
break;
case 2:
alert("向下!")
break;
case 3:
alert("向左!")
break;
case 4:
alert("向右!")
break;
default:
}
}, false);

Ⅱ 使用JS如何判斷客戶端類型


這篇文章主要給大家總結介紹了關於利用JS判斷客戶端類型的四種方法,比如通過通過判斷瀏覽器的userAgent、檢查是否是移動端(Mobile)、ipad、iphone微信qq等的方法,需要的朋友可以參考借鑒,下面
前言
我們在寫響應式布局的時候,總要考慮是否是移動端,基於這個這里總結了4種方法判斷客戶端是否是ios或者android。分享出來供大家參考學習,下面隨著小編來一起看看詳細的介紹吧。
方法如下:
1. 第一種:通過判斷瀏覽器的userAgent,用正則來判斷是否是ios和Android客戶端
User Agent中文名為用戶代理,是Http協議中的一部分,屬於頭域的組成部分,User Agent也簡稱UA。它是一個特殊字元串頭,是一種向訪問網站提供你所使用的瀏覽器類型及版本、操作系統及版本、瀏覽器內核、等信息的標識。通過這個標 識,用戶所訪問的網站可以顯示不同的排版從而為用戶提供更好的體驗或者進行信息統計;例如用手機訪問谷歌和電腦訪問是不一樣的,這些是谷歌根據訪問者的 UA來判斷的。UA可以進行偽裝。
瀏覽器的UA字串的標准格式:瀏覽器標識 (操作系統標識; 加密等級標識; 瀏覽器語言) 渲染引擎標識版本信息。但各個瀏覽器有所不同。
代碼如下:
<script type="text/javascript">
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android終端
var isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端
alert('是否是Android:'+isAndroid);
alert('是否是iOS:'+isiOS);
</script>2. 第二種:檢查是否是移動端(Mobile)、ipad、iphone、微信、QQ等。
2.1 代碼如下:
<script type="text/javascript">
//判斷訪問終端
var browser={
versions:function(){
var u = navigator.userAgent,
app = navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1, //IE內核
presto: u.indexOf('Presto') > -1, //opera內核
webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐內核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動終端
ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端
android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android終端
iPhone: u.indexOf('iPhone') > -1 , //是否為iPhone或者QQHD瀏覽器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1, //是否web應該程序,沒有頭部與底部
weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
qq: u.match(/sQQ/i) == " qq" //是否QQ
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
</script>2.2 使用方法
/判斷是否IE內核
if(browser.versions.trident){ alert("is IE"); }
//判斷是否webKit內核
if(browser.versions.webKit){ alert("is webKit"); }
//判斷是否移動端
if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移動端"); }2.3 檢測瀏覽器語言
currentLang = navigator.language; //判斷除IE外其他瀏覽器使用語言
if(!currentLang){//判斷IE瀏覽器使用語言
currentLang = navigator.browserLanguage;
}
alert(currentLang);3. 判斷iPhone|iPad|iPod|iOS|Android客戶端
代碼如下:
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判斷iPhone|iPad|iPod|iOS
//alert(navigator.userAgent);
window.location.href ="iPhone.html";
} else if (/(Android)/i.test(navigator.userAgent)) { //判斷Android
//alert(navigator.userAgent);
window.location.href ="Android.html";
} else { //pc
window.location.href ="pc.html";
};4. 判斷pc還是移動端
代碼如下:
<script>
//判斷是否手機端訪問
var userAgentInfo = navigator.userAgent.toLowerCase();
var Agents = ["android", "iphone",
"symbianos", "windows phone",
"ipad", "ipod"];
var ly=document.referrer; //返回導航到當前網頁的超鏈接所在網頁的URL
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) >= 0&&(ly==""||ly==null)) {
this.location.href='http://m.***.com'; //wap端地址
}
}
</script>5. 常用跳轉代碼
看代碼
<script type="text/javascript">
// borwserRedirect
(function browserRedirect(){
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == 'ipad';
var bIsIphone = sUserAgent.match(/iphone os/i) == 'iphone os';
var bIsMidp = sUserAgent.match(/midp/i) == 'midp';
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == 'rv:1.2.3.4';
var bIsUc = sUserAgent.match(/ucweb/i) == 'web';
var bIsCE = sUserAgent.match(/windows ce/i) == 'windows ce';
var bIsWM = sUserAgent.match(/windows mobile/i) == 'windows mobile';
var bIsAndroid = sUserAgent.match(/android/i) == 'android';
var pathname = location.pathname
if(bIsIpad || bIsIphone || bIsMidp || bIsUc7 || bIsUc || bIsCE || bIsWM || bIsAndroid ){
window.location.href = 'http://m.geekjc.com'+pathname; //wap端地址
}
})();
</script>上面是我整理給大家的,希望今後會對大家有幫助。
相關文章:
使用Vue時瀏覽器後退無法觸發beforeRouteLeave的問題
在fastclick代碼中如何解決tap「點透」
在anime.js中如何實現動畫效果的復選框
在vue中常用組件和框架結構(詳細教程

Ⅲ 一些的js判斷設備是移動端還是PC端的代碼

varUA=window.navigator.userAgent.toLocaleLowerCase()
if(/(iphone|android|ipad)/.test(UA)){
alert('移動設備')
}else{
alert('PC')
}

閱讀全文

與移動端js相關的資料

熱點內容
ps怎麼處理文件色差 瀏覽:359
手機上錄音文件在哪個文件夾 瀏覽:495
手機文件發送到郵箱 瀏覽:676
ip和域名的配置文件 瀏覽:893
哪裡可以查車型的輪轂數據 瀏覽:887
qq鈴聲下載後會放在哪個文件夾 瀏覽:466
如何刪除招標網站轉載的公告信息 瀏覽:767
電腦查看安卓系統文件 瀏覽:659
微信計步器走流量嗎 瀏覽:795
新手程序員沒人帶 瀏覽:235
網站怎麼導入資料庫 瀏覽:532
蘋果支付寶網路設置在哪裡 瀏覽:269
c語言編程如何放大 瀏覽:205
如何打開gwd的文件 瀏覽:986
如何把大量的pdf文件粘貼到word中 瀏覽:28
90版本劍魂輕甲精通 瀏覽:248
rat壓縮文件 瀏覽:580
西瓜的製作ps教程 瀏覽:222
excel使用的什麼編程語言 瀏覽:116
word文件選項對齊 瀏覽:874

友情鏈接