记录一下 , 手机浏览器跳转手机应用商店和应用宝方案
检测用户是否在微信环境中打开页面,若是则提示“请在浏览器中打开”;否则根据设备类型(iOS、小米、华为、vivo、OPPO、三星等)智能跳转至对应应用商店下载指定App,若跳转失败或设备未匹配,则默认跳转至应用宝链接,提升移动端用户下载体验。
function checkWeChat() {
var ua = navigator.userAgent;
var isWeChat = /MicroMessenger/i.test(ua);
return isWeChat;
}
function go() {
const ua = navigator.userAgent.toLowerCase();
let appStoreUrl = "";
const packageName = "com.shenwenyishu.pro"; // 替换成你的包名
const AppID = 245452525; // IOS AppID
const fallbackUrl = `https://a.app.qq.com/o/simple.jsp?pkgname=${packageName}`; //应用宝链接
// 使用示例
if (checkWeChat()) {
alert("请在浏览器中打开");
return;
// 执行微信环境下的特殊逻辑
}
try {
// 苹果设备
if (/iphone|ipad|ipod/.test(ua)) {
// 跳转到App Store
appStoreUrl = `https://apps.apple.com/app/id${AppID}`;
}
// 小米
else if (/xiaomi|mi\s+note|redmi/.test(ua)) {
appStoreUrl = `mimarket://details?id=${packageName}`;
}
// 华为
else if (/huawei|honor/.test(ua)) {
appStoreUrl = `appmarket://details?id=${packageName}`;
}
// vivo
else if (/vivo/.test(ua)) {
appStoreUrl = `vivoappstore://details?id=${packageName}`;
}
// oppo
else if (/oppo/.test(ua)) {
appStoreUrl = `oppomarket://details?id=${packageName}`;
}
// 三星
else if (/sm-/.test(ua) || /samsung/.test(ua)) {
appStoreUrl = `samsungapps://ProductDetail/${packageName}`;
}
// 魅族
else if (/meizu/.test(ua)) {
appStoreUrl = `mstore://details?id=${packageName}`;
}
// 努比亚(中兴系)
else if (/nubia/.test(ua)) {
appStoreUrl = `nubiamarket://details?id=${packageName}`;
}
// 金立(已基本退出市场,可忽略)
// 其他安卓设备默认走应用宝或 Google Play(国内一般用应用宝)
// 联想 / 摩托罗拉(多数走 Google Play 或应用宝)
else if (/lenovo|moto/.test(ua)) {
// 通常无专用商店,走兜底
}
// 尝试跳转
window.location.href = appStoreUrl;
// 可选:3秒后兜底(注意:部分浏览器会拦截多次跳转)
// setTimeout(() => { window.location.href = fallbackUrl; }, 3000);
} catch (error) {
// 出错统一跳应用宝
window.location.href = fallbackUrl;
}
}
干不动就送外卖