zl程序教程

您现在的位置是:首页 >  前端

当前栏目

判断终端类型、微信的文章防盗链、h5页面跳转打开新的app、跳转到app市场详解编程语言

AppH5微信编程语言 详解 类型 判断 页面
2023-06-13 09:20:40 时间
function  GetMobelType()  {  

 var  browser  =   {  

 versions:   function()  {  

 var  u  =  window.navigator.userAgent;  

 return  {  

 trident:  u.indexOf(Trident)   -1, //IE内核 

 presto:  u.indexOf(Presto)   -1, //opera内核 

 Alipay:  u.indexOf(Alipay)   -1, //支付宝 

 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(Linux)   -1, //android终端或者uc浏览器 

 iPhone:  u.indexOf(iPhone)   -1  ||  u.indexOf(Mac)   -1, //是否为iPhone或者安卓QQ浏览器 

 //iPhone: u.match(/iphone|ipod|ipad/),// 

 iPad:  u.indexOf(iPad)   -1, //是否为iPad 

 webApp:  u.indexOf(Safari)  ==  -1, //是否为web应用程序,没有头部与底部 

 weixin:  u.indexOf(MicroMessenger)   -1, //是否为微信浏览器 

 qq: u.match(//sQQ/i) == " qq", //是否QQ 

 Safari:  u.indexOf(Safari)   -1, 

   ///Safari浏览器, 

   

 };  

 }()  

 };  

 return  browser.versions;  

截取浏览器地址拼接参数

//截取地址 

function GetRequest(name) { 

 var reg = new RegExp("(^| )" + name + "=([^ ]*)( |$)"); 

 var r = window.location.search.substr(1).match(reg); 

 if(r != null) { 

 return unescape(r[2]); 

 } else { 

 return null; 

跳转到app市场,以微信的为例

//跳转到app市场 

 var appstore, ua = navigator.userAgent; 

 if(ua.match(/Android/i)) { 

 appstore = market://search?q=com.singtel.travelbuddy.android; 

 if(ua.match(/iphone|ipod|ipad/)) { 

 appstore = "https://itunes.apple.com/cn/app/wei-xin/id414478124?mt=8 ign-mpt=uo%3D4"; 

 function applink(fail) { 

 return function() { 

 var clickedAt = +new Date; 

 setTimeout(function() { 

 // To avoid failing on return to MobileSafari, ensure freshness! 

 if(+new Date - clickedAt 2000) { 

 window.location = fail; 

 }, 500); 

 $(.footer)[0].onclick = applink(appstore); 

在h5页面跳转打开新的app,进行判断(目前还有点小问题,如果有app会打开,再回来这个界面会展示下载的界面)

function jump(myurl) { 与上面判断ios的方法结合 

 if(GetMobelType.weixin) { 

 alert("是微信啊");// 水土不服就服微信 微信比较牛 第三方app必须在应用宝发布,且开通‘微下载’服务 

 } else { 

 if(GetMobelType.android) { 

 var ifr = document.createElement(iframe); 

 ifr.src = myurl; 

 ifr.style.display = none; 

 document.body.appendChild(ifr); 

 //window.location.href = "你要打开的app协议,安卓提供"; 

 window.setTimeout(function() { 

 document.body.removeChild(ifr); 

 window.location.href = "下载app的地址"; 

 }, 3000); 

 if(GetMobelType.ios || GetMobelType.iPhone || GetMobelType.iPad) { 

 alert(222); 

 var ifr = document.createElement("iframe"); 

 ifr.src = "打开app的协议"; /***打开app的协议,有ios同事提供***/ 

 ifr.style.display = "none"; 

 document.body.appendChild(ifr); 

 window.setTimeout(function() { 

 document.body.removeChild(ifr); 

 window.location.href = "下载地址"; 

 /***下载app的地址***/ 

 }, 2000) 

处理iframe引入微信的文章防盗链的问题 (这个在微信浏览器打开的时候,会有卡死的现象)

 $.ajaxPrefilter(function(options) { 

 if (options.crossDomain jQuery.support.cors) { 

 var http = (window.location.protocol === http: ? http: : https:); 

 options.url = http + //cors-anywhere.herokuapp.com/ + options.url; 

 }); 

 var share_link = that.list.outsideUrl; 

 console.log(share_link) 

 //微信文章地址 

 $.get( 

 share_link, 

 function(response) { 

 // console.log(" ", response); 

 var html = response; 

 html = html.replace(/data-src/g, "src"); 

 var html_src = data:text/html;charset=utf-8, + html; 

 that.list.outsideUrl = html_src; 

 }); 

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/13867.html

cjavalinuxmac