Javascript 从Android浏览器重定向到使用scheme的应用程序
使用安卓6.0.1 我正在尝试使用url方案从空白的“登录页”重定向到我的应用程序。 但出于某种原因,当我在一个有效的Javascript 从Android浏览器重定向到使用scheme的应用程序,javascript,android,Javascript,Android,使用安卓6.0.1 我正在尝试使用url方案从空白的“登录页”重定向到我的应用程序。 但出于某种原因,当我在一个有效的//中添加方案时,它就起作用了 var url=新url(window.location.href); var href=”https://mylink.com"; var deepLinkUrl=“myscheme://”; var appStoreLink=“itms-apps://itunes.apple.com/app/myapp?mt=8"; 变量googlePlayL
//中添加方案时,它就起作用了
var url=新url(window.location.href);
var href=”https://mylink.com";
var deepLinkUrl=“myscheme://”;
var appStoreLink=“itms-apps://itunes.apple.com/app/myapp?mt=8";
变量googlePlayLink=”http://play.google.com/store/apps/details?id=com.my.app"
var isMobile={
Android:function(){
返回navigator.userAgent.match(/Android/i);
},
iOS:function(){
返回navigator.userAgent.match(/iPhone | iPad | iPod/i);
},
any:function(){
return(isMobile.Android()| | isMobile.iOS());
}
};
如果(!isMobile.any()){
window.location.replace(href);
}else if(isMobile.iOS()){
setTimeout(函数(){
window.location=appStoreLink;
}, 25);
window.location=deepLinkUrl;
}else if(isMobile.Android()){
window.location.replace(deepLinkUrl);//这不起作用
}否则{
警报(“错误”);
}
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>redirection page</title>
</head>
<body>
<a href="myscheme://">my link</a> // THAT WORKS
</body>
<script type="application/javascript">
var url = new URL(window.location.href);
var href = "https://mylink.com";
var deepLinkUrl = "myscheme://";
var appStoreLink = "itms-apps://itunes.apple.com/app/myapp?mt=8";
var googlePlayLink = "http://play.google.com/store/apps/details?id=com.my.app"
var isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
any: function() {
return (isMobile.Android() || isMobile.iOS());
}
};
if (!isMobile.any()) {
window.location.replace(href);
} else if (isMobile.iOS()) {
setTimeout(function() {
window.location = appStoreLink;
}, 25);
window.location = deepLinkUrl;
} else if (isMobile.Android()) {
window.location.replace(deepLinkUrl); // THAT DOES NOT WORK
} else {
alert('Error.');
}
</script>
</body>
</html>