项目场景:

移动端兼容window.open():

项目场景:我们在ios系统下的打开浏览器使用window.open()


问题描述

点击window.open()失效,点击无效果

例如:我们设置了标签的点击事件:

function view(id){
        $.ajax('',{
			data:{
				id:id
			},
			dataType:'json',
			url:"",
			success:function(data){
				window.open(data.data.content)
			}
		})
}

原因分析:

ios浏览器的安全策略问题:

原因是window.open被广告商滥用,严重影响用户的使用。这个阻止弹出窗口的操作
在Safari中无法open新窗口,原因是Safari的安全机制将其阻挡


解决方案:

打开个空白页,更新他的地址

function view(id) {
	var onlocal = window.open('', ' _blank');
	$.ajax('', {
		data: {
			id: id
		},
		dataType: 'json',
		url: "",
		success: function(data) {
			//window.open(data.data.content)
			onlocal.location = data.data.content;
		}
	})
}

完美解决打开新页面的问题

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐