ios和Android的页面跳转

在移动端开发中,遇到window.open在Android上能正常跳转链接,但在iOS上失效的问题。原因在于苹果的安全机制拦截了新标签页的打开。为解决此问题,代码进行了平台检测,对于Android设备使用window.open,而对于iOS设备则采用window.location.href进行页面跳转。
摘要由CSDN通过智能技术生成

我们在移动端使用window.open跳转链接时Android可以正常跳转,但是iOS苹果上没有反应,这是因为苹果的安全机制拦截了,所以不能打开新的标签页:

 

 

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终端

 function(){
    $.ajax({
        type: '',
        url: '',
        data: '',
        ......
        success:function(res){
            if(isAndroid) {  //android终端
				let url = res.data.url;
				window.open(url);
			}else if(isiOS) {   //ios终端
				window.location.href = res.data.url;
			}
        }
    });
};

Android和ios进行一个判断,进而在执行的时候进行响应的判断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值