判断终端类型、微信的文章防盗链、h5页面跳转打开新的app、跳转到app市场详解编程语言
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相关文章
- CRMEB V4.X打通版小程序公众号H5 App商城源码
- 手机APP测试(测试点、测试流程、功能测试)
- 羊了个羊H5网页/小程序/APP游戏开发上线版,羊了个羊H5网页/小程序/APP游戏系统开发(详情及教程)
- 浏览器判断是否安装APP
- 一言 APP 添加 “今日诗词” 官方源 api
- app自动化测试之Appium问题分析及定位
- java基于springboot外卖系统在线订餐系统app源码厨艺论坛APP
- 拼图 APP 开源
- vivo官网App模块化开发方案-ModularDevTool
- 喜报!腾讯云智能获选国家工信部工业互联网APP优秀解决方案
- 如何在自己APP中接入在线客服系统,App接入第三方在线客服系统方法
- App开放接口API安全性 — Token签名sign的设计与实现详解架构师
- Linux下的打造智能App之旅(linux系统app)
- Linux学习之路,体验移动APP的魅力(linux学习app)
- 广电总局发函禁止浙、沪两地电视盒子预装视频App,谁会受影响?
- 使用App连接MySQL数据库快速实现数据分析(app连mysql数据库)
- 让App连接MySQL轻松实现数据库连接(app连mysql)
- APP访问MySQL从零开始(app 访问mysql)
- APP直接访问MySQL快速便捷的解决方案(app直接mysql)
- APP开发中MySQL至关重要(app开发要mysql)
- 掌握App接入MySQL的技术(app如何接入mysql)
- App与MySQL的通信实现数据交互的新方式(app和mysql通信)
- APP互联网化MySQL驱动开拓前沿(app和mysql的关系)
- App企业使用MySQL实现信息管理梦想(app企业用mysql)
- MYSQL数据库下载指南,轻松安装游戏APP(MYSQL下载游戏app)
- ANDROID完美退出APP的实例代码