我有一个Twitter登录,众所周知Google和Facebook具有自己的用于打开登录弹出窗口的脚本,即使在Safari上,它也可以以某种方式工作,但twitter却没有。因此,我们实现了自己的解决方案,我们面临的问题是IOS设备阻止了使用以下方法打开的弹出窗口:
window.open(url, '_blank', 'height=400,width=800,left=250,top=100,resizable=yes', true);
我也尝试在读取(Bypassing popup blocker in safari)之后创建锚标记:
<a id="js__twitter__popup-link" target="_blank" style="visibility: hidden;"></a>
然后我们将URL添加到href this.twitterPopupLink.setAttribute('href', url)
,然后是document.querySelector("#js__twitter__popup-link").click()
,但是在IOS上,即使那样也不会打开新页面。
测试人员说,在iPad上已打开弹出窗口,但使用IOS模拟器却没有在iPad上为我打开。可以肯定的是,它不会通过iPhone打开弹出窗口。
在IOS上,即使那样也不会打开新页面
正确。弹出窗口阻止程序的目的是防止弹出窗口。您可以想象到的任何解决方法都可能已经想象到并阻止了。
通常,您只能在一种情况下-在单击[[用户启动之后立即打开弹出窗口”。通过JavaScript触发点击不会绕过此操作。