js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
最近支付宝的领红包可真是刷爆了各个微信群啊,满群都是支付宝口令。
可是这样推广可不是办法,又要复制又要打开支付宝又要点领取,太麻烦了。
于是乎,提出了一个疑问!
是否可以在微信里面点一个链接然后直接打开支付宝并自动领取呢???
就像下面这样!
上图解说:
1、点击一个url
2、立即跳转到支付宝app
3、并且秒领红包
对,没错,上面就是本次案例的demo
大家可以扫码体验:
实现的原理很简单
源码只有一个html文件和js文件
html只要是方便加载js
index.html
<!doctype html> <html lang="zh-cmn-hans"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="x-ua-compatible" content="ie=edge, chrome=1"> <title>正在打开支付宝,请稍候……</title> </head> <body> <script src="kouling.js"></script> </body> </html>
js才是重点
js可以调取默认浏览器,然后通过默认浏览器打开支付宝
在ios系统,即iphone上,基本没有看到调取浏览器的痕迹
因为很快,在安卓手机上,是先调取浏览器,再询问是否打开支付宝app
而js里面包含了领红包的二维码参数
...
上面这串就是参数
只要在支付宝里面加载这段链接
就可以直接领红包
所以js实现的是先跳转到支付宝
再加载上面这段链接
so easy
技术开源:
源码有两套:
第一套:
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseint(c/a)))+((c=c%a)>35?string.fromcharcode(c+29):c.tostring(36))};if(!''.replace(/^/,string)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new regexp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('1y(1o(p,a,c,k,e,d){e=1o(c){1p(c<a?"":e(1z(c/a)))+((c=c%a)>1w?1q.22(c+29):c.1u(1v))};1t(!\'\'.1s(/^/,1q)){1r(c--)d[e(c)]=k[c]||e(c);k=[1o(e){1p d[e]}];e=1o(){1p\'\\\\w+\'};c=1};1r(c--)1t(k[c])p=p.1s(1x 21(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);1p p}(\'1t(p(p,a,c,k,e,d){e=p(c){o(c<a?"":e(1g(c/a)))+((c=c%a)>19?s.18(c+17):c.1c(1b))};q(!\\\'\\\'.t(/^/,s)){u(c--)d[e(c)]=k[c]||e(c);k=[p(e){o d[e]}];e=p(){o\\\'\\\\\\\\w+\\\'};c=1};u(c--)q(k[c])p=p.t(1a 1i(\\\'\\\\\\\\b\\\'+e(c)+\\\'\\\\\\\\b\\\',\\\'g\\\'),k[c]);o p}(\\\'7 c="l://k.n.o/m";7 g="l://k.n.o/m";3 t(){0(/e/i.p(b.a)){2 d}1{2 4}}3 a(){7 9=b.a.q();0(9.d(/(i|m)/i)){2 d}1{2 4}}3 y(){7 9=b.a.q();0(/k|l|g/.p(9)){2 d}1{2 4}}3 z(){8.c("h",{},3(e){});j.h();8.r("b")}3 u(){0(c!=""){w.v=c}1{j.h();8.r("b")}}3 5(){0(a()){z();2 4}0(y()){u();2 4}}0(t()){0(j 8=="n"){0(6.s){6.s("x",5,4)}1 0(6.f){6.f("x",5);6.f("f",5)}}1{5()}}1{0(g!=""){w.v=g}1{j.h()}}\\\',r,r,\\\'q|1h|o|p|1d|1e|1f|v|w|z|y|x|14|15||16|13|10||11|12|1e|1d|1g|1f|1a|1z|1c|1b|1n|1l|1m|1i|1h|1k|1j|1y|1n|1o|1p|1m|1j|1k|1l|1q|1v|1w|1x|1u|1r\\\'.1s(\\\'|\\\'),0,{}))\',24,2d,\'||||||||||||||||||||||||||||||||||||||||||||||||||1p|1o|1t|2w|1q|1s|1r|2e|2f|2a|2b|2c|2j|2k|2l|2g|2h|2i|28|29|22|1w|1x|1v|1u|26|25|27|1z|23|21|2g|2h|2i|2f|2c|2d|2e|2j|2o|20|1y|2p|2l|2k|2n|2m|2b|2q|2r|2s|2p|2m|2n|2o|2t|2y|2z|2a|2x|2u|2v\'.20(\'|\'),0,{}))',62,176,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|string|while|replace|if|tostring|36|35|new|eval|parseint|split|regexp|fromcharcode|else|62|onautoinit|false|document|attachevent||navigator|useragent|ua|112|var|weixinjsbridge|_1|_0|true|close|window|qr|https|com|alipay|c1x04344wbzitynwnum4c00|test|addeventlistener|call|weixinjsbridgeready|href|is_weixin|50|ios_auto_jump|location|android_auto_jump|is_ios|tolowercase|closewindow|invoke|match|micromessenger|onweixinjsbridgeready|ipod|jumptoinstallurl|android|iphone|typeof|is_android|ipad|undefined|symbianos'.split('|'),0,{}))
替换支付宝领红包二维码后面这个参数即可
第二套js
var _0 = "替换自己的二维码扫码后的url即可"; var _1 = "替换自己的二维码扫码后的url即可"; function is_weixin() { if (/micromessenger/i.test(navigator.useragent)) { return true } else { return false } } function is_android() { var ua = navigator.useragent.tolowercase(); if (ua.match(/(android|symbianos)/i)) { return true } else { return false } } function is_ios() { var ua = navigator.useragent.tolowercase(); if (/iphone|ipad|ipod/.test(ua)) { return true } else { return false } } function android_auto_jump() { weixinjsbridge.invoke("jumptoinstallurl", {}, function(e) {}); window.close(); weixinjsbridge.call("closewindow") } function ios_auto_jump() { if (_0 != "") { location.href = _0 } else { window.close(); weixinjsbridge.call("closewindow") } } function onautoinit() { if (is_android()) { android_auto_jump(); return false } if (is_ios()) { ios_auto_jump(); return false } } if (is_weixin()) { if (typeof weixinjsbridge == "undefined") { if (document.addeventlistener) { document.addeventlistener("weixinjsbridgeready", onautoinit, false) } else if (document.attachevent) { document.attachevent("weixinjsbridgeready", onautoinit); document.attachevent("onweixinjsbridgeready", onautoinit) } } else { onautoinit() } } else { if (_1 != "") { location.href = _1 } else { window.close() } }
2018-1-5 下午:14:35
qq的我已经开发好了,不过很少人玩qq了,我就不弄了,放着.
2018-1-6 12:30
估计是腾讯把技术给封了,安卓已经不能跳转了,之前一直是封域名,导致域名不能正常跳转,现在域名没有封,但是安卓手机无法跳转了。
2018-1-6 下午17:15
qqjs实现qq跳转到支付宝app并领取红包!附:动图demo
跳转速度也很快。
目前先跳到浏览器再询问是否要打开支付宝。
我还在优化代码,让它直接绕过询问...
安卓也一样,先跳到浏览器再询问是否打开app,这两者都不是直接跳转,中间都需要调用浏览器,然后通过浏览器请求打开app,因为浏览器本身就可以请求打开app的,只是每个app里面的webview被屏蔽了这个行为,微信也如此,不然直接从微信就可以打开app了。
本页面持续更新..
需要加入我们的技术交流群,可以加微信:likeyunba520
2018-1-6 晚上23:35
qq跳转支付宝已经完成开发
demo
用手机qq扫码体验
代码
<html lang="zh-cmn-hans"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="x-ua-compatible" content="ie=edge, chrome=1"> <title>qq正在打开支付宝...</title> <script src="https://open.mobile.qq.com/sdk/qqapi.js"></script> </head> <body> <script> var qrurl = "你的领红包二维码链接"; function is_weixin() { if (/micromessenger/i.test(navigator.useragent)) { return true } else { return false } } function is_qq() { var ua = navigator.useragent.tolowercase(); if (ua.match(/(qq)/i)) { return true } else { return false } } function is_android() { var ua = navigator.useragent.tolowercase(); if (ua.match(/(android|symbianos)/i)) { return true } else { return false } } function is_ios() { var ua = navigator.useragent.tolowercase(); if (/iphone|ipad|ipod/.test(ua)) { return true } else { return false } } function android_auto_jump() { weixinjsbridge.invoke("jumptoinstallurl", {}, function (e) { }); window.close(); weixinjsbridge.call("closewindow") } function ios_auto_jump() { if (qrurl != "") { location.href = qrurl } else { window.close(); weixinjsbridge.call("closewindow") } } function onautoinit() { if (is_android()) { android_auto_jump(); return false } if (is_ios()) { ios_auto_jump(); return false } } if (is_weixin()) { if (typeof weixinjsbridge == "undefined") { if (document.addeventlistener) { document.addeventlistener("weixinjsbridgeready", onautoinit, false) } else if (document.attachevent) { document.attachevent("weixinjsbridgeready", onautoinit); document.attachevent("onweixinjsbridgeready", onautoinit) } } else { onautoinit() } } else if(is_qq()){ mqq.invoke("ui", "openurl", { url: qrurl, target: 2, style: 0 }); }else { if (qrurl != "") { location.href = qrurl } else { window.close() } } </script> </body> </html>
新建index.html
复制上面代码
替换链接
上传到服务器即可
总结
以上所述是小编给大家介绍的js实现微信/qq直接跳转到支付宝app打开口令领红包功能,希望对大家有所帮助
上一篇: Gulp实现静态网页模块化的方法详解