ios中safari浏览器中window.open()无效的问题

除了sadari以外的浏览器,点击按钮后都会成功开启新页面。而在safari中认为window.open()是一种弹窗,而safari浏览器阻拦弹出式视窗。我这里是在uniapp中处理的方式,其他可自行调整。

解决办法:window.open()进入函数就执行,不要在回调函数中执行。
回调中的无效。
无效案例
aliPay(){
	let winRef = window.open('', '_blank');
	let res = await uni.request({
		method: "POST",
		url: xxxx,
		header: {
			authorization: xxxx
		},
		data: {
			amount: xxxx
		},
		success(res){
			window.open(res.data.url);
		}
	});
}

有效案例
aliPay(){
	let winRef = window.open('', '_blank');
	let res = await uni.request({
		method: "POST",
		url: xxxx,
		header: {
			authorization: xxxx
		},
		data: {
			amount: xxxx
		},
		success(res){
			window.open(res.data.url);
			winRef.location = res.data.url;
			uni.request({
				method:"GET",
				url:res.data.url
			})
		}
	});
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值