首页 > 移动平台 > 详细

window.open在ios不打开新窗口

时间:2019-12-10 19:38:57      阅读:318      评论:0      收藏:0      [点我收藏+]

使用window.open(Url),在ios没有起作用,而且代码也没有报错,并且安卓不会有这个问题,

原因是:大部分现代的浏览器(Chome/Firefox/IE 10+/Safari)都默认开启了组织弹出窗口的策略,原因是window.open被广告商所滥用,严重影响用户的使用。

这个组织弹出窗口的操作,并不是直接封杀window.open(),而是根据用户的行为来判定这次操作是不是属于流氓操作。如果是用户自己的动作触发的window.open就不会被阻止,比如写在onclick事件中,但如果是代码自动触发就会被组织的。

Safari中无法open新窗口,原因是Safari的安全机制将其阻止,一些异步操作,比如ajax回调里面执行window.open就会失效,原因是代码自己自动执行的,被IOS的安全机制拦截!

解决方法:

使用window.location.href = Url;【或者使用window.location.replace()来替代当前的url】

window.open在ios不打开新窗口

原文:https://www.cnblogs.com/maruihua/p/12018005.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!