util文件跳转方法类:
function loadURL(url) {
var iFrame;
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isAndroid) {
//安卓终端使用iframe
iFrame = document.createElement("iframe");
iFrame.setAttribute("src", url);
iFrame.setAttribute("style", "display:none;");
iFrame.setAttribute("height", "0px");
iFrame.setAttribute("width", "0px");
iFrame.setAttribute("frameborder", "0");
document.body.appendChild(iFrame);
// // 发起请求后这个 iFrame 就没用了,所以把它从 dom 上移除掉
iFrame.parentNode.removeChild(iFrame);
iFrame = null;
} else if (isiOS) {
//iOS终端直接页面跳转
window.location.href = url;
// 如果用户没有安装淘宝APP,则提示用户去安装淘宝
// setTimeout(() => {
// alert('请去应用市场下载App') // 这里可以自行写一个延时关闭的弹窗,也可以跳转至app下载地址,我这里就偷懒了
// }, 2000);
} else {
window.location.href = url;
}
}
在vue文件中引入
<template>
<div class="empty">
<div @click="handleTabao">
点击唤醒淘宝
</div>
</template>
import {loadURL,isInWx} from './../../util/index'
methods: {
handleTabao() {
console.log("isInWx",isInWx());
loadURL("taobao://m.tb.cn/h.4Ab8FZy?sm=7ad5e7")
},
}
微信端是不能唤醒的:
需要加一个蒙层,引导用户去浏览器中打开。判断微信端方法:
function isInWx(){
var agent = window.navigator.userAgent.toLowerCase();
return agent.match(/MicroMessenger/i) == 'micromessenger';
}
跳过去的结果页面: