js實現(xiàn)微信/QQ直接跳轉(zhuǎn)到支付寶APP打開口令領(lǐng)紅包功能
最近支付寶的領(lǐng)紅包可真是刷爆了各個微信群啊,滿群都是支付寶口令。
可是這樣推廣可不是辦法,又要復(fù)制又要打開支付寶又要點領(lǐng)取,太麻煩了。
于是乎,提出了一個疑問!
是否可以在微信里面點一個鏈接然后直接打開支付寶并自動領(lǐng)取呢???
就像下面這樣!
上圖解說:
1、點擊一個url
2、立即跳轉(zhuǎn)到支付寶APP
3、并且秒領(lǐng)紅包
對,沒錯,上面就是本次案例的demo
大家可以掃碼體驗:
實現(xiàn)的原理很簡單
源碼只有一個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可以調(diào)取默認(rèn)瀏覽器,然后通過默認(rèn)瀏覽器打開支付寶
在ios系統(tǒng),即iphone上,基本沒有看到調(diào)取瀏覽器的痕跡
因為很快,在安卓手機上,是先調(diào)取瀏覽器,再詢問是否打開支付寶app
而js里面包含了領(lǐng)紅包的二維碼參數(shù)
https://qr.alipay.com/c1x0768...
上面這串就是參數(shù)
只要在支付寶里面加載這段鏈接
就可以直接領(lǐng)紅包
所以js實現(xiàn)的是先跳轉(zhuǎn)到支付寶
再加載上面這段鏈接
so easy
技術(shù)開源:
源碼有兩套:
第一套:
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,{}))
替換支付寶領(lǐng)紅包二維碼后面這個參數(shù)即可
第二套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的我已經(jīng)開發(fā)好了,不過很少人玩QQ了,我就不弄了,放著.
2018-1-6 12:30
估計是騰訊把技術(shù)給封了,安卓已經(jīng)不能跳轉(zhuǎn)了,之前一直是封域名,導(dǎo)致域名不能正常跳轉(zhuǎn),現(xiàn)在域名沒有封,但是安卓手機無法跳轉(zhuǎn)了。
2018-1-6 下午17:15
QQjs實現(xiàn)QQ跳轉(zhuǎn)到支付寶APP并領(lǐng)取紅包!附:動圖demo
跳轉(zhuǎn)速度也很快。
目前先跳到瀏覽器再詢問是否要打開支付寶。
我還在優(yōu)化代碼,讓它直接繞過詢問...
安卓也一樣,先跳到瀏覽器再詢問是否打開APP,這兩者都不是直接跳轉(zhuǎn),中間都需要調(diào)用瀏覽器,然后通過瀏覽器請求打開APP,因為瀏覽器本身就可以請求打開APP的,只是每個APP里面的webview被屏蔽了這個行為,微信也如此,不然直接從微信就可以打開APP了。
本頁面持續(xù)更新..
需要加入我們的技術(shù)交流群,可以加微信:likeyunba520
2018-1-6 晚上23:35
QQ跳轉(zhuǎn)支付寶已經(jīng)完成開發(fā)
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 = "你的領(lǐng)紅包二維碼鏈接";
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
復(fù)制上面代碼
替換鏈接
上傳到服務(wù)器即可
總結(jié)
以上所述是小編給大家介紹的js實現(xiàn)微信/QQ直接跳轉(zhuǎn)到支付寶APP打開口令領(lǐng)紅包功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 利用js判斷手機是否安裝某個app的多種方案
- JSP中實現(xiàn)判斷客戶端手機類型并跳轉(zhuǎn)到app下載頁面
- 用于deeplink的js方法(判斷手機是否安裝app)
- js判斷移動端是否安裝某款app的多種方法
- JS監(jiān)聽微信、支付寶等移動app及瀏覽器的返回、后退、上一頁按鈕的事件方法
- JS實現(xiàn)點擊網(wǎng)頁判斷是否安裝app并打開否則跳轉(zhuǎn)app store
- JS觸摸屏網(wǎng)頁版仿app彈窗型滾動列表選擇器/日期選擇器
- JS拉起或下載app的實現(xiàn)代碼
- js判斷手機是否安裝并打開app,未安裝則安裝app【兼容Android、ios,親測可用】
相關(guān)文章
JavaScript 未結(jié)束的字符串常量常見解決方法
做JavaScript的時候,發(fā)現(xiàn)老是出現(xiàn)錯誤:“未結(jié)束的字符串常量”. 自己找了下應(yīng)該是傳參數(shù)的時候,有特殊字符引起的.網(wǎng)上也找了下,也有好多出現(xiàn)這種情況.做下總結(jié),以方便以后查閱.2010-01-01
微信小程序訂閱消息(java后端實現(xiàn))開發(fā)
這篇文章主要介紹了微信小程序訂閱消息(java后端實現(xiàn))開發(fā),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
JavaScript 模塊的循環(huán)加載實現(xiàn)方法
本文介紹JavaScript語言如何處理"循環(huán)加載"。目前,最常見的兩種模塊格式CommonJS和ES6,處理方法是不一樣的,返回的結(jié)果也不一樣2015-12-12
Bootstrap基本組件學(xué)習(xí)筆記之分頁(12)
這篇文章主要為大家詳細介紹了Bootstrap基本組件學(xué)習(xí)筆記之分頁,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12

